javascript - 构造可变属性名的JS对象的简写方式

标签 javascript backbone.js javascript-objects

<分区>

是否有一种快捷方式来创建具有属性字段变量的对象?

假设我有变量 PROP.Todo.PRIORITY = 'priority' 然后使用 Backbone在这个例子中,我想 save这个属性,我怎样才能避免必须创建一个新对象,将它分配给某个变量然后设置属性?

我想实现这个:

var tmpObj = {};
tmpObj[PROP.Todo.PRIORITY] = "high";
this.model.save(tmpObj);

我试过类似的方法,但没有成功:

this.model.save(({}[PROP.Todo.PRIORITY] = "high"));

有什么建议吗?否则我会写很多手写的对象声明。

最佳答案

如果您只保存一个参数,Model.save 有另一种接收参数的方法,(key,value,options)

http://backbonejs.org/#Model-save

save model.save([attributes], [options])
[...] As with set, you may pass individual keys and values instead of a hash. [...]

这意味着你可以把你的例子写成

this.model.save(PROP.Todo.PRIORITY, "high");

如果你想同时保存多个属性,你将不得不编写一个临时对象。

关于javascript - 构造可变属性名的JS对象的简写方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11326729/

相关文章:

javascript - 时间戳日期和时间格式 - Apps 脚本 - 格式化日期和时间

javascript - 当它在屏幕上可见时在 html 元素上添加类

javascript - jQuery - 如何在一次迭代中滚动子 addclass 和 removeclass setTimeout 不起作用?

javascript - 如何在给定比例下初始化缩放?

javascript - 未使用的 JavaScript 参数

javascript - 0.9.9 中的 Backbone 对象现在可以用作中介替代品吗?

Backbone.js 如何在集合中随机排列项目

jQuery 和 Underscore 未在 RequireJS 中加载

javascript - Javascript 中的拆分函数不适用于对象中的字符串

javascript - 将字符串插入对象