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注释指出:
如果服务器返回的属性哈希不同,则将再次设置模型的状态。