Angular 2 Ahead-of-Time(AOT)コンパイルで、次のように、親コンポーネントと子コンポーネントがあります。
_<div>
<h1>I am a parent</h1>
<myChild *ngIf="showChild"></myChild>
</div>
_
子テンプレートがDOMに動的に挿入されることを知っています。
showChild
がfalse
と評価される場合、正確にAngular子コンポーネントを破棄しますか?またはAngular子を破棄しますコンポーネントはどうですか?Angular=はonDestroy()
メソッドを呼び出しますか?
Angularが変更検出を実行し、ngIf
ディレクティブのNgIf
入力へのバインディングが更新されると、NgIf
はDOMからコンポーネントを削除します。コンポーネントがDOMから削除された後、ngDestroy()
が呼び出され、コンポーネントはガベージコレクションを自由に取得できます。
_*ngIf
_式がtrueのときに親コンポーネントが削除されると、親と子が一緒に破棄されます。 ngDestory()
が最初に呼ばれるものがわかりません。