【问题标题】:Change event does not propagate from Backbone Collection to Backbone Model更改事件不会从主干集合传播到主干模型
【发布时间】:2013-04-01 00:05:44
【问题描述】:

我有一个主干模型,它的某些属性具有主干集合。

当在这些集合之一上触发更改事件时,它不会传播到父模型。

是否有可能改变这一点,以便事件传播?

【问题讨论】:

  • 反之,模型变更事件触发集合变更事件。如果您不喜欢 metadept 的回答方式,那就是解决方案

标签: javascript backbone.js


【解决方案1】:

如果您没有引用模型所属的集合(这将创建循环逻辑),您应该能够显式绑定它:

model.listenTo(model.collection, 'change', function() {
        model.trigger('change');
    });

这是一个似乎可以工作的 jsFiddle:http://jsfiddle.net/2Nctk/2/

【讨论】:

  • 您确定model.trigger('change') 部分吗?
  • model.trigger('change') 将在那里触发事件并返回model,然后model 作为回调传递给listenTo。你需要一个函数包装器,你可能想检查arguments that go with a "change" event
  • @muistooshort 当它被包装在一个函数中时似乎可以工作(我花了一段时间来设置我的 jsFiddle)。感谢您的洞察力。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-30
  • 2012-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-08-31
  • 1970-01-01
相关资源
最近更新 更多