11

ネストされたコレクションを使用するバックボーン アプリがあります(少なくとも、そのように呼ばれていると思います)。

私の特定のケースでは、タブサブタブがあり、各タブ (モデル) にはサブタブ (モデル) のコレクションが含まれています。

コードに詳しい人向けに、モデルとコレクション、およびサブタブがタブ モデル内にどのようにネストされているかについて以下に記述します。

// 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コレクションで変更イベントが発生します (これはこれも正常です)が、モデル (およびコレクション)にバブルアップしません。TabTabs

少なくとも、モデル内のコレクションが変更され、モデルが変更されたため、そうすべきだと思います(ただし、間違っている可能性があり、取得していません)。

バックボーンでこの動作を実現する方法について何か提案はありますか?

4

1 に答える 1