模型从视图中删除成功和销毁事件的错误

时间:2014-09-19 08:33:58

标签: backbone.js

以下是我的代码片段:

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
                }
            });
        }
    },

现在发生的事情是,如果出现服务器错误,我的模型将从视图事件中删除。我希望只有在成功销毁时才会从视图中取消我的模型。

1 个答案:

答案 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
      }
  });