backbone.js在销毁视图时解除模型的绑定功能

时间:2013-03-06 02:28:12

标签: javascript backbone.js

我想破坏视图并为模型制作其他视图。 但我不能解除绑定到旧视图模型的功能。

我的测试代码

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;

但是当模型改变时调用stil render

model.triger('change');

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

1 个答案:

答案 0 :(得分:2)

var View = Backbone.View.extend({

    initialize: function(){
        this.listenTo(this.model, 'change', this.render);            
    }
});