In Angular 2 mit AOT-Kompilierung habe ich eine übergeordnete Komponente und eine untergeordnete Komponente wie folgt:
%Vor%Ich weiß, dass die untergeordnete Vorlage dynamisch in das DOM eingefügt wird. Meine Frage ist, wenn "showChild" zu false ausgewertet wird, wann genau Angular die Kindkomponente zerstört? Oder wird Angular die Kinderkomponente überhaupt zerstören? Ist das die Zeit, die Angular die Methode "onDestroy ()" aufruft?
Hier ist eine Aussage, die ich einem Freund früher gemacht habe (bitte korrigieren Sie mich, wenn ich falsch liege):
Wenn Angular erkennt, dass eine Komponente im DOM nicht mehr benötigt wird, wird dies geschehen zerstöre die Komponente.
Wenn Angular die Änderungserkennung durchführt und die Bindung an den ngIf
-Eingabe der NgIf
-Direktive aktualisiert wird, entfernt NgIf
die Komponente aus dem DOM. Nachdem die Komponente aus dem DOM entfernt wurde, wird ngDestroy()
aufgerufen, und dann ist die Komponente frei, um den Müll zu sammeln.
Wenn die übergeordnete Komponente entfernt wird, während der Ausdruck *ngIf
wahr ist, werden das übergeordnete Element und das untergeordnete Element zusammen vernichtet. Ich weiß nicht, was ngDestory()
jedoch zuerst heißt.
Tags und Links angular components parent-child ondestroy