モデルのクライアント側を削除する最良の方法は何ですか? サーバー側で削除することを心配する必要はありません。すべての落とし穴、すべてのゾンビバインディングを回避して、どこでも削除されるようにするにはどうすればよいですか。すべてを削除して破棄し、モデルが確実にガベージ コレクションされるようにするためのガイドを探しています。
ありがとう!!
モデルのクライアント側を削除する最良の方法は何ですか? サーバー側で削除することを心配する必要はありません。すべての落とし穴、すべてのゾンビバインディングを回避して、どこでも削除されるようにするにはどうすればよいですか。すべてを削除して破棄し、モデルが確実にガベージ コレクションされるようにするためのガイドを探しています。
ありがとう!!
それは本当にこのモデルの中に何があるかに依存します。他のインスタンス(ビュー/コレクション/モデル)からのイベントにバインドされている場合は、それらすべてを一度に削除する方法がないため、これらのイベントリスナーを手動で削除する必要があります。
また、Model.destroy()は、コレクション(バックボーンドキュメント)からモデルを削除します。
model.destroy([options])を破棄します
...モデルで「破棄」イベントをトリガーします。これは、モデルを含むすべてのコレクションを介してバブルします...
あなたがしたいと思うかもしれないことは、イベントトリガーとあなたが削除したいものを含む新しいdestroyメソッドを割り当てることです。
destroy: function(options) {
// Any events you wish to switch off ( if you have any )
SomeCollection.off('change', this.changeFn);
Backbone.Model.prototype.destroy.apply(this, options);
}
モデルからゴミを減らすためのいくつかのパターンにも注意する必要があるかもしれません:
これらのルールに従うことで、モデルからのゴミについてそれほど心配する必要がなくなると思います。