그래서 컬렉션에 내 모델을 자신이 가진 카테고리로 계산하려고합니다. 나는이 컬렉션 몇 번을 초기화컬렉션에 대한 백본 사용자 정의 속성
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
속성을 가져 오면 배열이 전역 변수처럼 작동한다는 것입니다. 따라서 컬렉션의 자체 인스턴스에서 모델을 계산할뿐만 아니라 배열은 모두 컬렉션의 인스턴스를 통해 추가 된 모든 모델을 계산합니다.
컬렉션의 속성을 만드는 방법을 아는 사람은 누구나 자신의 인스턴스에만 집계됩니다.
왜 당신이이 컬렉션 몇 번을 초기화하는 모든 새 컬렉션 인스턴스를 초기화됩니다? 새로운 이벤트를 여러 번 바인드하는 것을 의미합니다. –
데이터가 분리되어 있어야하지만 구조가 동일하므로 (모델과 컬렉션이 동일 함) – user2091464
모델 또는 컬렉션의 다중 인스턴스를 작성하여 동일한 구조를 사용할 수 있습니다. –