Har*_*rry 8 javascript backbone.js
我想设置backbone.js模型的属性,但只设置内部字段而不是整个字段.
示例代码可能是:
model.set('user.avatar', 'img')
Run Code Online (Sandbox Code Playgroud)
我能做什么?
谢谢
min*_*omi 21
您只需创建对象的副本,设置属性,然后在原始模型上重新设置它:
var userAttributes = model.get("user");
userAttributes.avatar = "img";
model.set("user", userAttributes)
Run Code Online (Sandbox Code Playgroud)
或者添加一个函数来从对象设置模型上的用户部分:
model = Backbone.Model.extend({
...
setUser: function(attributes){
var user = this.get("user") || {};
_.extend(user, attributes);
this.set({user:user});
},
...
Run Code Online (Sandbox Code Playgroud)
然后传入如下属性: model.setUser({avatar: "img"});