gpt4 book ai didi

javascript - 如何在不指定哪些属性但使用回调的情况下使用 backbone.js 进行保存

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:10 24 4
gpt4 key购买 nike

我想将更改后的模型保存到数据库(之前设置)。如果保存成功重定向到另一个页面(例如,可以是任何其他操作)。

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

既然属性已经设置好,我只需要回调即可。

过去我做过:

somemodel.save(somemodel.toJSON(), { 
success: function() {
//other stuff
}
);

或者再次将值传递给保存方法

somemodel.save(
{ foo: this.$('input').val()},
{ success: function(){}
);

我正在寻找一种方法来清理它。文档状态,如果有新属性,模型将触发更改状态。但无论如何我都想重定向用户(保存新内容或旧内容/未更改内容)。

这不存在:

somemodel.on('success', function(){}); 

这只是为了验证:

if(somemodel.save()) { //action }

“同步”也是错误的事件(因为它也适用于销毁)

有什么帮助吗?

最佳答案

somemodel.save(
{}, // or null
{
success: function(){}
}
);

将允许您在不修改现有键的情况下保存具有特定回调的模型。

还有一把 fiddle http://jsfiddle.net/h5ncaayu/

为避免将成功回调作为选项传递,您可以

  • 使用 save 返回的 promise :

    somemodel.save().then(...youcallback...)
  • 或使用事件:

    somemodel.on('sync', ...youcallback...);
    somemodel.save();

关于javascript - 如何在不指定哪些属性但使用回调的情况下使用 backbone.js 进行保存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11740853/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com