我使用主干事件将上下文(视图对象)绑定到事件处理程序,这有点奏效,但问题是,当事件被触发时,在initialize方法中设置的属性似乎都没有跟随上下文。下面的代码说明了这个问题:
define(['backbone'], function( Backbone ) {
var PageView = Backbone.View.extend({
/* Globals */
pageExist: false,
initialize: function( options ) {
var self = this;
self.pageExist = true;
// _mediator is passed during instantition of the view
// I've removed the code here as it's not relevant for this problem
self._mediator.on("pin:add", self._pinAddCB, self);
// Using bindAll seems a little bit better as the context now carries the aditional method that i added on this view ( like _pinAddCB )
_.bindAll();
},
_pinAddCB: function( ) {
console.log(this.pageExist ) // FALSE ??
}
});
return PageView;
});
有什么想法吗?
您尝试过示例中的代码是如何工作的吗?因为它应该正常工作。
_.bindAll();
导致最新版本的下划线出现错误- 也许CCD_ 2是通过某种其它方法修改的