我有一个Backbone应用程序,它使用嵌套集合(至少这是我认为他们被称为的方式)。如何在嵌套的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实现此行为的建议?
手动触发事件,当你收到它 –
@CoryDanielson我想到的是,需要时要“手动”触发,但它没有工作,我得到了_RangeError:最大调用堆栈大小超过_。 –
你在用setTimeout做些什么吗?这不是我在使用Backbone之前得到的错误 –