ビューを破棄して、モデルの別のビューを作成したい。しかし、古いビューからモデルにバインドされた関数をアンバインドできません。
私のテストコード
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(); この問題を解決できますが、他の機能のバインドが解除されます。このモデルを他のビューに使用したいです。どうすればこれを解決できますか?