在Backbone.js中,在我'创建'集合下的模型后,如何更新该模型?

时间:2011-12-07 07:30:07

标签: javascript ajax backbone.js

Posts.create({'body':post_body});

当我打电话给它时,Backbone将使用AJAX发布请求命中我的服务器,创建该帖子。然后我的服务器将返回一个带有“完整”帖子的JSON。

完美!但是现在,我希望新创建的模型能够获得完整的数据。换句话说,我不希望它只有body属性。 (我所有其他模型都有其他数据)。

我的问题是:

  • 将使用“完整”数据自动更新模型,因为我的服务器返回了完整的JSON?
  • 如果没有,我如何让Backbone更新该模型以使其数据已满?

编辑:我这样做了,似乎Backbone会自动使用返回的数据作为新模型。有人可以证实吗?

success:function(post){
    console.log(post.toJSON()); //Yay! latest version.
},

1 个答案:

答案 0 :(得分:0)

是的,模型将使用服务器返回的任何其他信息进行更新。

这是因为在模型的create方法下,有一个save的调用,其中实习生调用model.set,以便更新模型修正(或新属性)。

由于此方法的source code注释声明:

  

如果服务器返回不同的属性哈希,则将再次设置模型的状态。