次のように機能する backbonejs アプリがあります。
[Backbone MODEL] <----> [Backbone VIEW] <----> [DOM ELEMENT]
モデルとビューが作成され、関数スコープ内のローカル変数に割り当てられます。dom 要素を (その親要素で jQuery().empty() を呼び出して) 削除すると、View へのすべての参照とその後のモデルへの参照が削除され、ゾンビ オブジェクトやメモリ リークが回避されますか?
次のように機能する backbonejs アプリがあります。
[Backbone MODEL] <----> [Backbone VIEW] <----> [DOM ELEMENT]
モデルとビューが作成され、関数スコープ内のローカル変数に割り当てられます。dom 要素を (その親要素で jQuery().empty() を呼び出して) 削除すると、View へのすべての参照とその後のモデルへの参照が削除され、ゾンビ オブジェクトやメモリ リークが回避されますか?
モデルまたはビュー変数を、固執するものに割り当てない限り。変数のクロージャに注意してください。変数を他のオブジェクトの属性としてアタッチしないでください。ビューまたはモデルを他のオブジェクトのイベントにアタッチしないでください。それからはい、これはそれ自体をきれいにします。
しかし、これらは従うべき非常に厳しいルールであり、ほとんどのアプリではうまく機能しません. イベント ハンドラーの削除を明示的に処理し、作成したオブジェクトの属性を削除する必要があります。
これに関連する記事がいくつかあります (少なくとも 1 つを既に読んだことがあると思われます)。
古典的なゾンビの投稿: http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/
ゾンビのクリーンアップ コードの実装に加えて、独自のオブジェクトとして: http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/
JavaScript とバックボーンのメモリ管理: http://lostechies.com/derickbailey/2012/03/19/backbone-js-and-javascript-garbage-collection/