0

我想破坏视图并为模型制作其他视图。但我无法从旧视图解除绑定到模型的函数。

我的测试代码

View = Backbone.View.extend({
    initialize: function(){
       this.model.bind('change',this.render);
    },

    destroy_view: function() {

       //COMPLETELY UNBIND THE VIEW
       this.undelegateEvents();

       this.$el.removeData().unbind();

       //Remove view from DOM
       this.remove();
       Backbone.View.prototype.remove.call(this);
   },
});

我制作了新的模型和视图,我像这样破坏了视图

view.destroy_veiw();
delete view;

但是当模型改变时仍然会调用渲染

model.triger('change');

我知道 model.unbind(); 可以解决这个问题,但是会解绑其他功能,我想用这个模型做其他视图。我该如何解决这个问题?

4

1 回答 1

2
var View = Backbone.View.extend({

    initialize: function(){
        this.listenTo(this.model, 'change', this.render);            
    }
});
于 2013-03-06T03:06:02.043 回答