Pwn*_*nna 6 javascript backbone.js
所以现在当我销毁模型并且服务器返回错误时,无论如何都会触发destroy事件并重置模型数据.
反正有没有阻止这种情况发生?
您可以{wait: true}作为选项传递destroy(),这会导致它在从集合中删除模型之前等待服务器的响应.
就绑定视图到事件而言,您应该单独处理remove和destroy事件,因为remove事件将在服务器成功返回时触发,但从不在服务器返回错误时触发.
或者,您可以将error处理程序传递给model.destroy,如果服务器因任何原因失败,您可以使用该处理程序将模型放回原处.只需将模型添加回您的集合(如果您有),或者使数据从服务器重新加载(这可能是更安全的选项).
请注意,使用此方法时,remove事件仍将触发,并add在您放回模型时跟随事件.
thing.destroy({error: function(model, response) {
// put the thing back in the collection, or cause the collection to reload
}});
Run Code Online (Sandbox Code Playgroud)
你提到了重置的模型数据; 我相信model上面的错误处理程序中的参数接收原始模型,因此您仍然可以访问其数据.
有关更多信息,请参阅主干文档 - http://backbonejs.org/#Model-destroy
| 归档时间: |
|
| 查看次数: |
1790 次 |
| 最近记录: |