私はバックボーンアプリケーションに取り組んでいます。destroyメソッドを持つベースビューを作成し、他のすべてのビューはそれを拡張します。
ビューインスタンスを破棄するときは、ビューにモデルまたはコレクションがある場合、それがリッスンしていたイベントのバインドを解除していることを確認したいと思います。
ビューの初期化でアンダースコアの_.bindAllを使用しているとすると、以下のoffステートメントは参照を削除します。
var DocumentRow = Backbone.View.extend({
initialize: function() {
_.bindAll( this );
this.model.on('change', this.render);
},
destroy : function() {
// Will this work?
this.model.off(null, null, this);
}
});
または、そのようなイベントを明示的にバインドする必要がありますか
this.model.on('change', this.render, this);