2014-06-06 62 views
0

在我的Backbone應用程序中,我試圖通過使用來自Lodash(Underscore)的_.union-方法來合併集合。BackboneJS + Lodash _.union方法

所以,我有以下幾點:

var myCollection = _.union([carsCollection], [motorcycleCollection], [bikeCollection]); 

當我做console.log(collection)它給了我[child, child, child]其中每個child包含收集和它的屬性模型的數組。到目前爲止,我的問題是:

如何在視圖中顯示此內容?我想:

this.insertView(new View({collection: myCollection })); 

,但沒有工作......

有誰知道whta問題就在這裏?

回答

1

骨幹集不能的車型陣列,利用他們_.union不會產生的模型的集合。你必須與collection.models工作,然後建立一個新的集合:

var models = _.union(
    carsCollection.models, 
    motorcycleCollection.models, 
    bikeCollection.models 
); 
var unitedCollection = new Backbone.Collection(models); 

http://jsfiddle.net/nikoshr/uc5cn/用於演示

+0

好吧,其實我試過了,它會返回一個空的集合。即使我在定義'_.union'方法之前做'carsCollection.fetch()'。這是爲什麼? – SHT

+1

可能是因爲當你使用'_.union'您的收藏都是空的:'fetch'是異步的,不會阻止,見http://stackoverflow.com/questions/9584870/backbone-js-fetch-not-actually-設置屬性/ 9585427#9585427例如 – nikoshr