使用backbone's set方法更新变量属性
Updating a variable attribute with backbone's set method
我需要在从视图触发事件后更新模型的一个属性。我不知道哪个属性需要事先更新。我怎么能设置一个变量属性与骨干的set方法?
下面是我的模型的属性示例集:
defaults: {
content: 'Stupid filthy Hobbit',
date: '03-19-14',
position: [
{top: 134, left: 22},
{top: 78, left: 24},
{top: 91, left: 18}
]
}
下面是我在视图中使用的方法:
events: {
'change input': 'onChangePosition'
},
onChangePosition: function(e){
var key = $(e.currentTarget).data('key');
var attribute = $(e.currentTarget).data('attribute');
var value = $(e.currentTarget).val();
this.model.set(['position'][key][attribute], value);
}
我假设key
是您要在position
数组中更新的对象的整数索引?如果是这样,您需要获取位置数组,更新它,然后再次设置它。试试这个:
var position = this.model.get('position');
position[key][attribute] = value;
this.model.set('position', position);
澄清一下,原因是因为Backbone.Model.set()只接受两种形式。要设置的属性的散列,或要设置的特定属性的名称及其值。但是没有语法允许你指定数组的索引项,所以你必须获取整个数组,更新它,然后设置它
相关文章:
- 有条件更新d3.js力图中节点的最佳方法
- Es6:能够在设置/更新/删除对象属性时调用自定义方法
- 主干:视图's的呈现方法被调用,但DOM未更新
- Bookshelf.js,在fetchAll()方法之后更新
- AngularJs在调用服务方法后更新指令
- 如何在jQuery的.on()方法中动态更新按钮的ID选择器
- Javascript 对象方法不更新变量
- 更新纹理的正确方法(三.JS)
- 如何从弹簧控制器方法更新html img src
- 通过两种方法创建和更新 CSS
- Ruby on rails-更新ajax的PUT方法
- 无法更新componentWillReceiveProps方法内的状态
- 在Sails/Waterline项目中,使用更新方法增加数据库值
- ReactJS 从父组件的 onClick 方法更新对子组件的 ajax 调用
- 如何使用在构造函数中创建的方法更新同一构造函数中的另一个变量
- 使用$http POST方法更新textarea
- 使用Angular Meteor的服务器方法更新Meteor客户端对象
- KnockoutJS - UI不使用内置的observableArray方法更新,除了push和pop
- 如何通过jQuery使用replace方法更新文本区域
- 使用backbone's set方法更新变量属性