设置骨干模型
setting backbone models
我在主干视图中有以下场景。我希望这样设置模型。
saveField : function(field, val){
//field = 'username'; val = 'Boris'
model.set({field : val});
}
字段是模型中属性的字符串表示形式。
问题是backbone创建了一个名为field的新属性。我可以这样设置
model.attributes[field] = val;
但是,我宁愿使用set。
有谁知道我是怎么做到的吗?由于
edit: end up doing -
var asObj = new Object;
asObj[field] = val;
model.set(asObj);
查看主干源代码,这应该已经工作了 -您的调用只需要看起来有点不同。
saveField : function(field, val){
//field = 'username'; val = 'Boris'
model.set(field, val);
}
您要查找的参数格式是set(key, value, options)
。这意味着您一次只能设置一个属性,但看起来这就是您想要做的一切。另一种格式是set(attr, options)
,这是您正在使用的格式,但不适用于字符串键。
无论如何,你都不想直接设置这个属性,因为backbone在内部使用这个钩子来做一些事情,比如引发'changed'事件。
相关文章:
- 如何在ExtJs4应用程序上为视图、存储和模型设置自定义文件夹名称
- 是否可以使用flexbox显示模型设置元素的滚动位置
- 从骨干集合筛选模型,然后为这些模型设置属性
- 无法将对象列表从视图模型设置为 javascript 变量
- 智能表通过ng模型设置值时不会触发任何事件
- 将ng模型设置为与变量同名,而不是引用该变量
- 角度防止将模型设置为无效的未定义
- Ember.js{{render}}助手模型设置不正确
- ng 模型设置值为选择
- 骨干.js:有没有办法在创建集合时为集合中的所有模型设置属性
- MVC Javascript基于模型设置文本输入值
- 基于mvc模型设置html复选框复选值
- 如何将骨干模型设置为对象'的子数组
- 将“模型”设置为阵列中的特定对象
- 将数据模型设置为其他数据模型的属性
- angularjs ng模型设置默认值
- 控制器中不更新ng模型设置的值
- 将模型设置在场景的中心,分为三个部分
- 顺序主干模型.设置覆盖模型.改变属性
- 如何将 ng-option 模型设置为对象的值