所以我正在尝试根据他们的类别计算我的模型中的模型。
这是我的代码:
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
属性时,数组就像一个全局变量。因此,它不仅计算了自己的集合实例中的模型,而且数组计算了通过 all 集合实例添加的所有模型。
任何人都知道如何使集合的属性仅计入其自己的实例?
答案 0 :(得分:1)
也许您需要将catCount移动到初始化函数?
initialize: function( ) {
this.catCount= new Array();
this.bind( 'add', this.onModelAddedd, this );
}
所以它将在每个新的集合实例中初始化