如何在使用主干调用save时刷新模型的属性

How i can refresh model's attributes when invoke save using backbone

本文关键字:save 刷新 模型 属性 调用      更新时间:2023-09-26

如何在调用save()时刷新模型的属性我使用骨干和骨干关系。有以下代码:

saveParams: function(event){
    var self = this;
    this.model.save({}, {
      success: function(model, resp, xhr){
        model = ...
      },
      error: function(model, resp){
        alert(JSON.stringify(resp));
      }
    });
    $(this.el).effect("highlight", {}, 1000);
    event.preventDefault();
  },

当传递回调成功时,参数"model"具有ald属性(在保存之前),resp保存更新的属性。如何更新模型中的属性?

model.set(resp)没有帮助我model.set(JSON.stringify)没有帮助我

UPD1:我使用骨干关系模型是因为有嵌套模型。当成功回调调用时,嵌套模型不会刷新。我猜是因为RelationModel使用了Backbone.Store。

UPD2: For me only this:

model.clear()
model.set(resp);
model.change();

我知道它很丑,但它是有效的

通常你不需要这样做!Backbone自动解析save()命令的响应,如下所示:http://documentcloud.github.com/backbone/docs/backbone.html第41部分

如果您的响应数据与默认假设的骨干数据结构不同,您应该查看Backbone.Model#parse方法并可能覆盖它(这是一个非常简单的方法)。