Backbone.js 通过listenTo跟踪主干事件
我已经开始用脊梁骨工作了 在学习主干网的过程中,我了解到使用.listenTo而不是.on的优点是listenTo允许“对象跟踪事件” 我不明白这句话想说什么。我只能看出.on和.listenTo之间的区别在于语法。考虑两个调用:Backbone.js 通过listenTo跟踪主干事件,backbone.js,backbone-events,Backbone.js,Backbone Events,我已经开始用脊梁骨工作了 在学习主干网的过程中,我了解到使用.listenTo而不是.on的优点是listenTo允许“对象跟踪事件” 我不明白这句话想说什么。我只能看出.on和.listenTo之间的区别在于语法。考虑两个调用: this.model.on('change', this.some_method); this.listenTo(this.model, 'change', this.some_method); 在第一种情况下: this.model知道有人在监听'change'事
this.model.on('change', this.some_method);
this.listenTo(this.model, 'change', this.some_method);
在第一种情况下:
this.model
知道有人在监听'change'
事件,但它不知道是谁这个
不知道它在听什么,除非你明确跟踪你所做的调用的内容this.model
知道有人在监听'change'
事件,但它不知道是谁此
知道它正在侦听来自此.model的事件,
,只有被听的东西知道有一个听者;使用listenTo
,听者也知道他们在听什么
如果您想停止收听事件,则差异很重要。如果你正在使用,那么你必须保留你自己正在听的内容的列表,以便你可以使用它们;如果您正在使用,那么listenTo
会跟踪这些信息,并且您可以简单地进行操作
例如,如下所示:
remove: function() {
this.$el.remove();
this.stopListening();
return this;
}
因此,您可以调用
view.remove()
,它将自动清理您拥有的任何事件绑定(只要您使用listenTo
),并且僵尸侦听器的机会将大大减少。O!我得到了它。谢谢你的指导。我在主干主站点本身中没有找到这样的详细信息。@iCybernetics:在出现listenTo
方法之前使用主干时,listenTo
的实用程序更容易看到。是的!从Backbonejs.org提供的更改日志中获取所有信息