在我的 js 代码中,我注意到许多语句,例如:
model.set({someAttribute : !model.get("someAttribute")});
所以我认为在模型中定义自定义方法可能会有用:
toggle: function(attr, silent){
this.set({attr: !this.get(attr)}, silent? {silent:true} : {});
}
问题是,javascript javascript 将“attr”视为实际的键名而不是正式的函数参数,因此上面的代码不起作用。任何建议如何解决这个问题? 我想要一个优雅的单行解决方案。
最佳答案
对此没有优雅的单行解决方案。为了使用 attr
作为键,您必须声明对象文字,然后使用 []
语法设置它:
toggle: function(attr, silent){
var data = {}, value = this.get(attr);
data[attr] = !value;
this.set(data, {silent: silent});
}
关于javascript - 如何切换 backbone.js 的模型属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7385630/