Jar*_*ish 7 javascript backbone.js
我想将修改后的模型保存到数据库中(之前设置).如果保存成功重定向到另一个页面(例如,可以是任何其他操作).
Model.save可以有两个可选属性.第一个是属性的哈希,第二个是选项(如成功和错误回调).http://backbonejs.org/#Model-save
somemodel.set({foo: 'bar'});
//lots of other logic and misc steps the user has to do
somemodel.save(); //on success should go here
Run Code Online (Sandbox Code Playgroud)
由于属性已经设置,我只需要回调.
过去我做过:
somemodel.save(somemodel.toJSON(), {
success: function() {
//other stuff
}
);
Run Code Online (Sandbox Code Playgroud)
或者将值再次传递给save方法
somemodel.save(
{ foo: this.$('input').val()},
{ success: function(){}
);
Run Code Online (Sandbox Code Playgroud)
我正在寻找一种方法来清理它.文档说明,如果有新属性,模型将触发更改状态.但是我想要重定向用户(保存新内容或旧/未更改).
这不存在:
somemodel.on('success', function(){});
Run Code Online (Sandbox Code Playgroud)
而这只是用于验证:
if(somemodel.save()) { //action }
Run Code Online (Sandbox Code Playgroud)
"同步"也是错误的事件(因为它也适用于销毁)
有帮助吗?
nik*_*shr 12
somemodel.save(
{}, // or null
{
success: function(){}
}
);
Run Code Online (Sandbox Code Playgroud)
将允许您使用特定回调保存模型,而无需修改现有密钥.
还有一个小提琴http://jsfiddle.net/h5ncaayu/
为避免将成功回调作为选项传递,您可以
使用返回的承诺save:
somemodel.save().then(...youcallback...)
Run Code Online (Sandbox Code Playgroud)或使用活动:
somemodel.on('sync', ...youcallback...);
somemodel.save();
Run Code Online (Sandbox Code Playgroud)| 归档时间: |
|
| 查看次数: |
1427 次 |
| 最近记录: |