У меня есть приложение Backbone, которое использует вложенные коллекции (по крайней мере, так, как я думаю, они вызваны).
В моем конкретном случае есть вкладки и subtabs, а каждая вкладка (модель) содержит коллекцию подзаголовка (модели).
Для тех, кто более знаком с кодом, я напишу ниже свои модели и коллекции и как вложенные вложенные элементы внутри модели вкладок:
// 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, он запускает событие изменения в модели Tab
, а также в коллекции Tabs
(вполне нормально, правильно?), но когда я изменяю атрибут subtab, он запускает изменение событие в модели Subtab
и Subtabs
(это тоже нормально) , но оно не поддается модели Tab
(и коллекции Tabs
).
По крайней мере, я думаю, это должно быть потому, что коллекция внутри модели была изменена, и поэтому модель была изменена (но, возможно, я ошибаюсь, и я не получаю ее).
Любое предложение о том, как я могу добиться такого поведения с помощью Backbone?