2016-03-27 109 views
0

我想在骨幹模型中存儲Backbone集合,但它不起作用。而不是實際存儲Collection對象,並存儲數組。Backbone:在模型中存儲集合

var modelA = Backbone.Model.extend({ 
    defaults: { 
     collection: null 
    } 
}); 

var modelB = Backbone.Model.extend({}); 

var CollectionA = Backbone.Collection.extend({ 
    model: modelA 
}); 

var CollectionB = Backbone.Collection.extend({ 
    model: modelB 
}); 

var myCollection = new CollectionA(); 

myCollection.create({ 
    collection: new CollectionB() 
}); 

是否有什麼問題,或者這是不是與開箱即用的骨幹?

+0

在發佈代碼中有多個語法錯誤。值得注意的是,var collectionA和collectionB應該是CollectionA和CollectionB。然後,在傳遞給「創建」的對象中有一個分號。 – fbynite

+0

@fbynite感謝您的領導!在簡化測試用例的時候,我偶然添加了它們。 – Sven

+0

很酷,如果你還沒有,你也可以檢查[Nested Models&Collections](http://backbonejs.org/#FAQ-nested)。 – fbynite

回答

0

你的例子似乎關閉。這是你想要做的嗎?這是將模型存儲在集合中的示例,然後是模型中的集合:

var ModelWithCollection = Backbone.Model.extend({ 
    defaults: { 
     typicalCollection: null 
    } 
}); 

var TypicalModel = Backbone.Model.extend({}); 

var TypicalCollection = Backbone.Collection.extend({ 
    model: TypicalModel 
}); 
//create some model instances 
var typicalModelA = new TypicalModel(); 
var typicalModelB = new TypicalModel(); 
//create typical collection instance and add models 
var myCollection = new TypicalCollection([typicalModelA, typicalModelB]); 

//now create a model with a collection 
var modelWithCollection = new ModelWithCollection({typicalCollection:myCollection});