私は現在、私のプロジェクトでAngularJSを使用していますが、リスナーを$ scope(またはディレクティブのリンク関数の場合はスコープ)に手動でバインド解除する必要があるかどうかがわかりません。
最も明確ではないドキュメントから、現在のスコープのリスナーにバインドを解除する必要はないと思いますが、たとえば$でリスナーにバインドを解除する必要があるかどうかはわかりませんたとえば、rootScope。
ディレクティブやディレクティブのコントローラーなどのコンポーネントのライフサイクルについての説明をいただければ幸いです。
ありがとう
Angularがそれを処理します。
スコープが破棄されると(たとえば、新しいビューがng-viewディレクティブを介してロードされると、古いビューのスコープが破棄されます)、すべての子スコープが破棄され、それらの$ watchersとリスナーも$ onを介して登録されます。
$ rootScopeは、アプリケーションの存続期間中にまったく破棄されないため、リスナーを手動で管理する必要がありますが、通常は、永続的である必要があるものをそこに登録します。
addEventListenerを介してリスナーを登録する場合、Angularを介して管理されないため、リスナーを手動で削除する必要があります。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加