Backbone事件与集合哈希

时间:2012-08-22 04:04:43

标签: backbone.js backbone-events backbone-views

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

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

与我目前的方法相反:

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

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

2 个答案:

答案 0 :(得分:3)

events: {
    // hash
}

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

this.collection.on('change', this.render, this);  // Except change is for models
初始化函数中的

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

您可能正在寻找的是将add removereset事件绑定到您的收藏中。

答案 1 :(得分:0)

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

collectionEvents: {
    'change': 'render'
}

如果你使用简单的Backbone,那么orangewarp建议使用change收听该集合的this.collection.on事件是可以的。