1
,debouncedAjax: _.debounce(_.bind(myFunction, this), 2000)
,request: function(requestParams, response){
this.debouncedAjax(requestParams, response);
}
设置它,当我可以申请,我得到这个设置功能在Backbone.js的财产给我一个错误,但它的作品,如果我在初始化方法
Uncaught TypeError: Cannot call method 'apply' of undefined (anonymous function)
如果我设置去抖功能对这样的debouncedAjax属性的结果
,initialize: function() {
this.debouncedAjax = _.debounce(this.imoveisAjaxRequest, 2000);
}
它工作正常!
为什么?
BTW:debounce是一个来自AMAZING underscore.js框架的函数!
那么没有其他办法可以做到吗? –
如果您想保留'this'的含义,请不要使用。另外,我认为如果你在原型中消除了这个功能,它将会在整个课程中发生反弹。我不确定在这种情况下防反弹是否会给你带来正确的结果 - 它可能会放弃一些你宁愿不打的电话。 –
@Cfontes:通常,需要'_.bind'或'_.bindAll'的任何东西都在'initialize'内完成,这样'this'就是你想要的。因此'_.bindAll(this,...)'你在许多视图构造函数中看到的东西。 –