Ran*_*llB 6 events coffeescript backbone.js backbone-events
我正在开发的Backbone应用程序有一个集合和一个模型,以及每个项目的相关视图.
https://gist.github.com/2255959
当我单击PostView时,意外地,事件在没有任何连线的情况下触发了集合.
我想我需要将一个事件绑定到模型,然后在集合上激活一个事件.那不是这样吗?集合是否自动继承触发其子模型的事件?
我不确定,但我认为它与嵌套视图有关,也许事件被绑定在两个地方而不仅仅是内部el.
mu *_*ort 15
从精细手册:
为方便起见,也会在集合中直接触发在集合中的模型上触发的任何事件.
所以是的,该集合会监听所有模型上的事件并转发它们.
例如,给定一个这样的简单设置:
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'))
Run Code Online (Sandbox Code Playgroud)
做c.first().set(...)会触发事件处理程序.
演示:http://jsfiddle.net/ambiguous/wwjnK/