Backbone.js 重置主干。主干中的集合。模型
我有一个模型,其中包含一个带有一些Backbone.Collections的默认对象。我不知道这是否是最优雅的解决方案,但它现在适合我的需要。但是,创建模型的新实例时,不会重置集合,而是添加新模型。是否应自动重置默认值?我现在必须在初始化函数中设置myCollsBackbone.js 重置主干。主干中的集合。模型,backbone.js,Backbone.js,我有一个模型,其中包含一个带有一些Backbone.Collections的默认对象。我不知道这是否是最优雅的解决方案,但它现在适合我的需要。但是,创建模型的新实例时,不会重置集合,而是添加新模型。是否应自动重置默认值?我现在必须在初始化函数中设置myColls var MyModel = Backbone.Model.extend({ defaults: { 'someProp': '', 'myColls': { 'firs
var MyModel = Backbone.Model.extend({
defaults: {
'someProp': '',
'myColls': {
'first': new Backbone.Collection(),
'second': new Backbone.Collection(),
'third': new Backbone.Collection()
}
},
initialize: function() {
// This does reset myColls:
this.set('myColls', {
'first': new Backbone.Collection(),
'second': new Backbone.Collection(),
'third': new Backbone.Collection()
});
}
}
正如在关于 记住,在JavaScript中,对象是通过引用传递的,所以如果 如果包含一个对象作为默认值,它将在所有用户之间共享 实例。相反,将默认值定义为函数
var MyModel = Backbone.Model.extend({
defaults: {
'someProp': '',
'myColls': {
'first': new Backbone.Collection(),
'second': new Backbone.Collection(),
'third': new Backbone.Collection()
}
},
initialize: function() {
// This does reset myColls:
this.set('myColls', {
'first': new Backbone.Collection(),
'second': new Backbone.Collection(),
'third': new Backbone.Collection()
});
}
}
所以