0

我试图利用 Backbone 的视图事件哈希将更改事件绑定到当前视图的集合:

events: {
    'this.collection change': 'render'
}

与我目前的方法相反:

initialize: function() {
    this.collection.on('change', this.render, this);
}

但这似乎并没有引发事件。他们对使用事件哈希将事件绑定到集合的限制吗?

4

2 回答 2

3
events: {
    // hash
}

用于将您的 DOM 事件连接到您的视图函数。

this.collection.on('change', this.render, this);  // Except change is for models

在初始化函数中是这样做的方法,除了change事件是针对模型而不是集合的,除非您为正确触发的集合指定了自定义更改事件。

您可能正在寻找的是将一个add removereset事件绑定到您的集合。

于 2012-08-22T04:08:17.500 回答
0

如果您使用的是 Marionette 视图,则可以collectionEvents按照您提到的方式使用。请参阅http://marionettejs.com/docs/marionette.view.html#viewmodelevents-and-viewcollectionevents

collectionEvents: {
    'change': 'render'
}

如果您使用的是普通的 Backbone,则 orangewarp 建议使用监听集合的change事件this.collection.on是要走的路。

于 2015-03-18T22:09:52.513 回答