我在默认值中有一个对象,如下所示:
app.MultiwidgetModel = Backbone.Model.extend({
defaults : {
....
operatorData : {
helloBlock : null,
greeting : null,
avatarBlock : null,
avatarImg : null
},
....
},
initialize: function(){
....
}
});
如何在初始化函数中为operatorData内部属性(helloBlock、greeting)等设置值?如果可以的话,我应该使用什么语法?
最佳答案
如果您只想在初始化时为当前模型设置值并触发适当的 change
事件,那么这应该可行:
app.MultiwidgetModel = Backbone.Model.extend({
defaults : {
....
operatorData : {
helloBlock : null,
greeting : null,
avatarBlock : null,
avatarImg : null
},
....
},
initialize: function(){
var opData = this.get('operatorData');
opData.helloBlock = 'foo';
opData.greeting = 'bar';
...
this.set({operatorData: opData}); // Without this, the data will change but you won't have a change:operatorData event triggered
}
});
如果您想编辑默认值,您应该可以使用
app.MultiwidgetModel.prototype.defaults.operatorData = {
helloBlock : 'foo',
greeting : 'bar'
}
这就是你想要的吗?
关于javascript - 将值设置为 Backbone.Model 中的折叠默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32244134/