我有一个使用嵌套集合的 Backbone 应用程序(至少我认为它们是这样称呼的)。
在我的特殊情况下,有选项卡和子选项卡,每个选项卡(模型)都包含一个子选项卡(模型)的集合。
对于那些更熟悉代码的人,我将在下面写下我的模型和集合,以及子选项卡如何嵌套在选项卡模型中:
// Subtab Model
var Subtab = Backbone.Model.extend({
defaults: { label: undefined }
});
// Subtabs Collection
var Subtabs = Backbone.Collection.extend({
model: Subtab
});
// Tab Model
var Tab = Backbone.Model.extend({
defaults: { label: undefined, subtabs: new Subtabs}
});
// Tabs Collection
var Tabs = Backbone.Collection.extend({
model: Tab
});
现在,当我更改选项卡的属性时,它会在Tab
模型和Tabs
集合上触发更改事件(很正常,对吗?),但是当我更改子选项卡的属性时,它会在Subtab
模型和Subtabs
集合上触发更改事件(这是也正常),但它不会冒泡到Tab
模型(和Tabs
集合)。
至少,我想它应该是因为模型中的集合被改变了,所以模型也被改变了(但也许我错了,我没有得到它)。
关于如何使用 Backbone 实现此行为的任何建议?