我想过滤骨干集合。因此,我想限制键盘事件并在用户完成输入或暂停时触发。
我之前的油门功能正在开火,我正在获取日志('节流前')。但是,实际过滤器filterByTitle未触发。有什么建议吗?
linkApp.Views.FilteredLinks = Backbone.View.extend({
el:'#divFilter',
events:{
'keyup #filterTitle': "filterByTitleThrottled"
},
initialize:function(){
},
render:function(){
},
filterByTitleThrottled:function(){
console.log('before throttle');
_.throttle(this.filterByTitle, 100);
},
filterByTitle:function(){
console.log('actual filter by title');
}
});
答案 0 :(得分:11)
我认为最好在初始化时_.throttle this.filterByTitle使其正常工作。
initialize:function(){
this.filterByTitle = _.throttle(this.filterByTitle, 100);
},
你会扼杀一次,你会得到你期待的结果。
答案 1 :(得分:3)
当你致电_.throttle
时 - 它会创建并返回传递函数的新版本。
在此之后你可以使用她:
filterByTitleThrottled:function(){
console.log('before throttle');
var trottle = _.throttle(this.filterByTitle, 100);
trottle();
}