木を表すコレクションがあります。各モデルには、id としてサーバーから取得される親属性があります。受信データでコレクションをリセットした後、各モデルはコレクション内の親を見つけて、プレーン ID ではなく属性として参照を設定する必要があります。その後、レンダリングの準備が整ったコレクションからトリガーされる 1 つのイベントが必要です。
var node = Backbone.Model.extend({
initialize: function(){
//reset event fired after all models are in collection,
//so we can setup relations
this.collection.on('reset', this.setup, this);
},
setup: function(){
this.set('parent', this.collection.get(this.get('parent')));
this.trigger('ready', this);//-->to collection event aggregator?
}
});
var tree = Backbone.Collection.extend({model: node})
セットアップが完了したすべてのモデルを確認するクリーンな方法はありますか? または、コレクションにカスタム イベント アグリゲーターを記述する必要がありますか?