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


当我打电话给Backbone时,它将用AJAX帖子请求来打我的服务器,从而创建该帖子。然后,我的服务器将返回带有“ full”帖子的JSON。

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

我的问题是:


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


编辑:我这样做了,并且看起来Backbone会自动使用返回的数据作为新模型。有人可以确认吗?

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

最佳答案

是的,将使用服务器返回的所有其他信息来更新模型。

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

正如该方法的source code注释指出:


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

10-05 20:46
查看更多