Dans angulaire 2 avec l'avant-de-temps (AOT) la compilation, j'ai un composant parent et un composant enfant, comme celui-ci:Quand exactement angulaire décide de détruire un élément
<div>
<h1>I am a parent</h1>
<myChild *ngIf="showChild"></myChild>
</div>
Je sais que les Le modèle enfant est inséré dynamiquement dans le DOM. Ma question est quand "showChild" est évalué à faux, quand exactement Angular détruit le composant enfant? Ou Angular détruira-t-il le composant enfant? Est-ce le moment où Angular invoque la méthode "onDestroy()"?
Voici une déclaration que je fis à un ami plus tôt (s'il vous plaît me corriger si je me trompe):
Lorsque angulaire voit un élément est plus nécessaire dans les DOM, il va détruire le composant .
Si le composant enfant est détruit, comment l'angle affecte-t-il l'empreinte mémoire? À quel point la récupération de place sera-t-elle propre, en supposant que j'ai désabonné et détaché des événements dans onDestroy()? – gye
Angular n'est pas impliqué dans le ramassage des ordures. S'il n'y a aucune référence à votre composant, la machine virtuelle JS collecte toutes les classes associées. Angular assure qu'il ne contient aucune référence à un composant après sa destruction. –