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