【问题标题】:Backbone events hash with collections带有集合的骨干事件哈希
【发布时间】:2015-03-19 06:09:52
【问题描述】:

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

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

与我目前的方法相反:

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

但这似乎不会触发该事件。他们对使用事件哈希将事件绑定到集合有限制吗?

【问题讨论】:

  • 你不能简短回答。你有什么讨厌的习惯方式

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


【解决方案1】:
events: {
    // hash
}

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

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

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

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

【讨论】:

  • 如果你有更多关于你想要通过你的收藏和视图完成什么的详细信息,如果你把它拼出来,我可能会定制我的答案,以更好地解决你的问题。
【解决方案2】:

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

collectionEvents: {
    'change': 'render'
}

如果您使用的是普通 Backbone,orangewarp 建议使用 this.collection.on 收听集合的 change 事件是可行的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    相关资源
    最近更新 更多