0

我尝试在我的视图集合之一上使用重置方法时遇到了错误。

这是它的实现

收藏:

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 的集合方法。

4

1 回答 1

1

在路由器文件中,传递给Deckbuilder视图的集合是一个数组,而不是Backbone.Collection. 尝试进行以下更改:

this.deckbuild = new Deckbuilder({collection: new Cards(filteredCards)});
于 2013-09-07T11:02:43.420 回答