Events 收集时触发模型的主干事件(双重触发)
我正在开发的主干应用程序有一个集合和一个模型,以及每个项目的相关视图 当我单击PostView时,意外地,事件在集合上激发,而不进行任何连接 我想我需要将一个事件绑定到模型,然后让它在集合上触发一个事件。不是这样吗?集合是否自动继承其子模型触发的事件 我不确定,但我认为这与嵌套视图有关,可能事件绑定在两个位置上,而不仅仅是内部的Events 收集时触发模型的主干事件(双重触发),events,backbone.js,coffeescript,backbone-events,Events,Backbone.js,Coffeescript,Backbone Events,我正在开发的主干应用程序有一个集合和一个模型,以及每个项目的相关视图 当我单击PostView时,意外地,事件在集合上激发,而不进行任何连接 我想我需要将一个事件绑定到模型,然后让它在集合上触发一个事件。不是这样吗?集合是否自动继承其子模型触发的事件 我不确定,但我认为这与嵌套视图有关,可能事件绑定在两个位置上,而不仅仅是内部的el: 为方便起见,在集合中的模型上触发的任何事件也将直接在集合上触发 因此,是的,集合侦听所有模型上的事件并转发它们 例如,给定如下简单设置: class M ext
el
:
为方便起见,在集合中的模型上触发的任何事件也将直接在集合上触发
因此,是的,集合侦听所有模型上的事件并转发它们
例如,给定如下简单设置:
class M extends Backbone.Model
class C extends Backbone.Collection
model: M
c = new C
c.on('change', (model, opts) -> console.log('Change on collection'))
执行c.first().set(…)
将触发事件处理程序
演示:您知道这是否可以反向应用吗?因此,我在集合中触发一个事件,然后将该事件传播到集合中的每个模型对象?@dombesz:我认为您必须手动执行此操作,但集合中混合的下划线方法应该使其成为一个快速的单行程序。我刚刚发现,如果我在模型上触发一个事件,集合上也会触发相同的事件。@dombesz:但不是相反。