以下是我的代码片段:
var ItemView = Backbone.View.extend({
initialize: function() {
_.bindAll(this);
this.listenTo(this.model,'destroy',this.remove);
},
events: {
"click .cancel-event" : "cancel"
},
cancel: function() {
var confirmationMessage = "Are you sure you want to cancel the item " + this.model.get("title");
if(window.confirm(confirmationMessage)) {
this.model.destroy({
success: function(event, error){
//i want to unrender my model from the collection when success happens
},
error: function(event, error){
//some error handling
}
});
}
},
现在发生的事情是,如果出现服务器错误,我的模型将从视图事件中删除。我希望只有在成功销毁时才会从视图中取消我的模型。
答案 0 :(得分:1)
在主干文档(http://backbonejs.org/docs/backbone.html)中,他们讨论了传递名为wait:true
的选项
如果服务器已经保留,则在服务器上销毁此模型。 乐观地从模型中删除模型(如果有的话)。 如果等待:返回true,则等待服务器响应 去除。
所以我会尝试这个
this.model.destroy({
wait:true,
success: function(event, error){
//i want to unrender my model from the collection when success happens
},
error: function(event, error){
//some error handling
}
});