Collection 内の Model を1つだけ選択できるようなプログラムを書く場合、
各 Model に selected 属性を追加して、その変化を Collection 側で取得して処理するのがよいです。
var collection = Backbone.Collection.extend({
initialize: function() {
this.on('change:selected', function(selectedModel) {
console.log('collection 内の Model の selected が変更されました。');
this.each(function(model) {
model.set('selected', false, {silent: true});
});
selectedModel.set('selected', true, {silent: true});
});
}
});
以下に Collection 内の Model を1つだけ選択するサンプルを公開しました。
http://okanoworld.appspot.com/sample/backbonejs/select/index.html
ソースコードはこちら
https://github.com/yokano/sample/tree/master/backbonejs/select

0 件のコメント:
コメントを投稿