2013-09-07 2 views
0

오류가 발생했습니다. 내보기 컬렉션 중 하나에서 재설정 메소드를 사용하려고했습니다. 여기 Backbone.js : 잡히지 않은 TypeError : Object [object 배열]에 'set'메서드가 없습니다.

는 구현

이다 컬렉션 :

window.Cards = Backbone.Collection.extend({ 
    model: Card, 
    url: "/cards" 
}); 

라우터 파일 : 나는 같은 모음을 사용하여 내 다른보기를 만들어 내 Deckbuilder보기 파일에서

var cardsList = new Cards(); 
cardsList.fetch({success: function(){ 
    filteredCards = cardsList.where({Class: "ABC"}).concat(cardsList.where({Class: "ZYX"})); 
    this.deckbuild = new Deckbuilder({collection:filteredCards}); 
}}); 

:

var cardselectView = new CardSelect({collection: this.collection}); 

그러면 CardSelect 뷰 파일에서 다음과 같이 썼습니다.

blahblah = new Collection(); 
this.collection.set(blahblah); 

그런 다음 오류가 나타납니다. 이 구현이 잘못 되었습니까? 나는 어떤 추상화를 위반 했는가? 더 이상 내 컬렉션 객체에서 백본의 콜렉션 메소드를 사용할 수 없습니다.

+1

이'where','findWhere' 및 방법의 무리 배열을 Backbone.Collection''이 아닌 인스턴스'Backbone'의 문서 ... http://backbonejs.org/을 다시 참조하십시오를 반환 : 변화 이하로 만드는 시도 – j03w

답변

1

라우터 파일에서 Deckbuilder보기로 전달 된 컬렉션은 배열이며 Backbone.Collection이 아닙니다.

this.deckbuild = new Deckbuilder({collection: new Cards(filteredCards)}); 
관련 문제