我遇到了错误,我试图在我的一个视图集合中使用reset方法。
这是它的实现
收藏品:
window.Cards = Backbone.Collection.extend({
model: Card,
url: "/cards"
});
路由器文件:
var cardsList = new Cards();
cardsList.fetch({success: function(){
filteredCards = cardsList.where({Class: "ABC"}).concat(cardsList.where({Class: "ZYX"}));
this.deckbuild = new Deckbuilder({collection:filteredCards});
}});
在我的Deckbuilder视图文件中,我使用相同的集合在其中创建了另一个视图:
var cardselectView = new CardSelect({collection: this.collection});
然后在CardSelect视图文件中我写道:
blahblah = new Collection();
this.collection.set(blahblah);
然后出现错误。我的实施有什么不对吗?我违反了一些抽象吗?我不能再在我的集合对象上使用任何Backbone的集合方法了。
答案 0 :(得分:1)
在路由器文件中,传递给Deckbuilder
视图的集合是一个数组而不是Backbone.Collection
。尝试进行以下更改:
this.deckbuild = new Deckbuilder({collection: new Cards(filteredCards)});