Backbone.js正在更新属性被更改的模型
backbone.js updating a model whose attributes have been changed
在SQL中,您将使用UPDATE命令来更新行,如何在SQL中更新模型,其中它的属性已经从另一个JSON对象更改。
我想这样做,这样它只改变已经改变的属性,而不是整个模型,我已经看到了model. changedattributes()命令,但不确定如何使用它。
感谢编辑:我已经试过了:
//code to update model
usersCollection.fetch({
success: function() {
var getModel = usersCollection.where(checkIDJSON);
//update that partcular attribute
getModel.set('interest', 'rolling stones');
console.log("Users:" + usersCollection.toJSON());
}, error: function() {
// something is wrong..
}
});
返回错误"undefined is not a function"
据我所知,您希望使用RESTful服务将模型中的数据保存到服务器,并且不希望发送模型的所有数据,而只想发送那些已更改的属性。为此,您应该使用patch
方法:
model.save(attrs, {patch: true})
在这种情况下您可以只发送attrs
或
model.save({patch: true})
只是已经更改的属性(在本例中attrs
将是model.changedAttributes()
)
来自主干文档:
如果您只希望将更改后的属性发送到服务器,则调用model.save(attrs, {patch: true})
。您将获得一个向服务器发送的HTTP PATCH请求,其中包含传入的属性。
我正在做这件事。
您的逻辑从文档中看起来是正确的。在你的getModel.set('interest', 'rolling stones');
之后,我会做
getModel.save(); //saves the model to the database (or whatever you have setup)
userCollection.reset(); // reloads the collection from the database (or whatever you have setup.
如果没有使用主干。我建议在你的类中重写这些方法
相关文章:
- 将输入值设置为ng模型属性[Angular]时出现问题
- 如何使用Undercore和Backbone在HTML中表示模型属性
- 主干中的模型属性未定义
- sails.js beforeCreate方法只接收required设置为true的模型属性
- 比较主干中的两个模型属性
- 更新淘汰视图模型属性时激发更改事件
- Eloquent模型属性为骆驼大小写[Laravel 5.2][Dingo API]
- 如何从单独的javascript文件访问模型属性?(MVC)
- 从Ember视图获取模型属性
- 根据三个模型属性对主干集合进行排序
- 根据模型属性对主干集合进行排序
- 默认情况下,一个模型属性等于 sail.js 模型中的另一个模型属性
- 在 Backbone 中侦听和修改模型属性的正确方法是什么.js
- 如何从视图主干传递回模型属性
- 主干 js - 更改模型属性
- AngularJs 将模型属性绑定到复选框
- 主干.js - 如何在模板中使用自定义模型属性
- 主干 + 下划线:找不到模板变量.+ 如何正确访问模型属性
- 从另一个具有属于关系的模型访问模型属性 Ember.js
- 通过模型属性 AngularJS 获取节点元素