【发布时间】:2013-04-01 00:05:44
【问题描述】:
我有一个主干模型,它的某些属性具有主干集合。
当在这些集合之一上触发更改事件时,它不会传播到父模型。
是否有可能改变这一点,以便事件传播?
【问题讨论】:
-
反之,模型变更事件触发集合变更事件。如果您不喜欢 metadept 的回答方式,那就是解决方案
我有一个主干模型,它的某些属性具有主干集合。
当在这些集合之一上触发更改事件时,它不会传播到父模型。
是否有可能改变这一点,以便事件传播?
【问题讨论】:
如果您没有引用模型所属的集合(这将创建循环逻辑),您应该能够显式绑定它:
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。