我有这个系列:
App.Collection.Pieces = Backbone.Collection.extend({
model: App.Model.Piece,
initialize: function() {
this.add(
// The `King` model extends the `Piece` model
new App.Model.King({
cid: 'wk',
color: 'white'
})
);
}
});
然后我在视图中有这个代码:
this.white = new App.Collection.Pieces();
console.log(this.white.get('wk'));
我有两个问题:
B
延伸A
,我可以将模型B
添加到A
模型的集合中吗?console.log
语句返回undefined。没有设置cid
属性的原因是什么?感谢。
答案 0 :(得分:1)
您可以将任何对象或模型添加到集合中。如果它是一个普通的JS对象,那么为该集合定义的模型将被实例化。 Annotated source
根据Backbone's documentation,cid会自动分配给所有已创建的模型。查看the annotated source似乎自动生成了cid - 您无法将自定义cid分配给模型。