そのため、コレクション内のモデルをカテゴリ別に数えようとしています。
これは私のコードです:
App.Collections.channls = Backbone.Collection.extend({
model: App.Models.Channel,
catCount: new Array(),
initialize: function() {
this.bind('add', this.onModelAddedd, this);
},
onModelAdded: function( model, collection ) {
if (this.catCount[model.get('category_id')] == undefined) {
this.catCount[model.get('category_id')] = 0;
}
this.catCount[model.get('category_id')]++;
},
returnCount: function() { return this.catCount }
});
このコレクションを数回初期化します。
問題はcatCount
、コレクションのプロパティを取得すると、配列がグローバル変数のように機能することです。そのため、コレクションの独自のインスタンスからモデルをカウントしただけでなく、配列はコレクションのすべてのインスタンスに追加されたすべてのモデルをカウントしています。
コレクションのプロパティを独自のインスタンスにのみカウントする方法を知っている人はいますか?