gpt4 book ai didi

backbone.js - 通过 listenTo 跟踪主干事件

转载 作者:行者123 更新时间:2023-12-02 05:00:20 27 4
gpt4 key购买 nike

我已经开始使用 Backbone。

在学习 Backbone 时,我了解到使用 .listenTo 而不是 .on 的优势在于 listenTo 允许“对象跟踪事件”。

我不明白这句话想表达什么。好吧,我只能看出 .on 和 .listenTo 之间的区别在于语法。

最佳答案

考虑两个调用:

this.model.on('change', this.some_method);
this.listenTo(this.model, 'change', this.some_method);

第一种情况:

  1. this.model 知道有人在监听 'change' 事件,但不知道是谁。
  2. this 不知道它在听什么,除非您明确跟踪您进行的 on 调用。

第二种情况:

  1. this.model 知道有人在监听 'change' 事件,但不知道是谁。
  2. this 知道它正在监听来自 this.model 的事件。

所以是的,语法不同,但主要区别在于谁知道谁在听:使用on,只有被听的人知道有一个听众;使用 listenTo,听者也知道他们在听什么。

如果您想停止监听事件,那么区别就很重要。如果您使用 on那么你必须维护自己的收听列表,这样你就可以 off他们;如果你使用 listenTo然后 listenTo 跟踪它,你可以简单地 stopListening .

例如,View#remove看起来像这样:

remove: function() {
this.$el.remove();
this.stopListening();
return this;
}

所以你可以调用view.remove(),它会自动清除你所有的事件绑定(bind)(只要你使用了listenTo)和僵尸的机会听众急剧减少。

关于backbone.js - 通过 listenTo 跟踪主干事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17205098/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com