backbone.js 设置模型属性内字段

发布于 2024-12-22 19:04:15 字数 144 浏览 0 评论 0原文

我想设置backbone.js模型的属性,但只是内部字段而不是整个字段。

示例代码可能是:

model.set('user.avatar', 'img')

我能做什么?

谢谢

I want to set an attribute of a backbone.js model, but only an inner field rather than the entire field.

Example code might be:

model.set('user.avatar', 'img')

Anything I can do?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

忆依然 2024-12-29 19:04:15

您可以简单地复制该对象,设置属性,然后在原始模型上重新设置它:

var userAttributes = model.get("user");
userAttributes.avatar = "img";
model.set("user", userAttributes)

或者添加一个函数来从对象的模型上设置用户的部分内容:

model = Backbone.Model.extend({
...
setUser: function(attributes){
    var user = this.get("user") || {};
    _.extend(user, attributes);
    this.set({user:user});
},
...

然后传入属性,如下所示:<代码>model.setUser({头像: "img"});

You could simply make a copy of the object, set the attribute, and then re-set it on the original model:

var userAttributes = model.get("user");
userAttributes.avatar = "img";
model.set("user", userAttributes)

Or add a function to set parts of the user on the model from an object:

model = Backbone.Model.extend({
...
setUser: function(attributes){
    var user = this.get("user") || {};
    _.extend(user, attributes);
    this.set({user:user});
},
...

Then pass in attributes like so: model.setUser({avatar: "img"});

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文