Backbone - Uncaught TypeError:无法调用未定义的方法'unbind'

时间:2013-05-31 06:47:24

标签: javascript backbone.js

使用Backbone 0.9.2我试图在视图中取消绑定某些元素,但是我收到以下错误

未捕获的TypeError:无法调用未定义的方法'unbind'


      console.log('+++ Kill: ', this);
        this.model.unbind( 'change', this.render, this ); // Unbind reference to the model
        this.options.parent.unbind( 'close:all', this.close, this ); // Unbind reference to the parent view     
        delete this.$el; // Delete the jQuery wrapped object variable
        delete this.el; // Delete the variable reference to this node

知道如何解决这个错误吗?

1 个答案:

答案 0 :(得分:2)

嗯,显然this.model不是你想象的那样。也许this不是您的视图实例?在任何情况下,只需处理视图initialize中的模型事件,如下所示:

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

你会很好,因为当remove调用stopListening时,{{1}}会自动解除绑定。