我确信对此有一个合理的解释,但我无法弄清楚 - 一些指导将不胜感激。
我有以下使用 Backbone 的代码:
var ExampleCollection = Backbone.Collection.extend({
exampleEvent: function() {console.log('event fired')}
});
var ExampleView = Backbone.View.extend({
el:'body',
onExampleEvent: function() {console.log('listener heard it')},
initialize: function() {
this.listenTo(this.collection,'exampleEvent',this.onExampleEvent);
}
});
var testCollection = new ExampleCollection;
var testView = new ExampleView({collection:testCollection});
在控制台中,当我输入命令时testCollection.trigger('exampleEvent')
,onExampleEvent
回调函数会触发。但是,当我输入命令时testCollection.exampleEvent()
,exampleEvent
函数会触发,但onExampleEvent
回调函数不会。
如果有人可以向我解释为什么会发生这种情况,我将不胜感激,因为我已经寻找了一段时间并且无法弄清楚。
提前谢谢了。