在带提前(AOT)编译的Angular 2中,我有一个父组件和一个子组件,如下所示:
<div>
<h1>I am a parent</h1>
<myChild *ngIf="showChild"></myChild>
</div>
我知道子模板是动态插入到DOM中的。
如果showChild
的计算结果为false
,Angular到底什么时候销毁该子组件?或者Angular会完全销毁子组件吗?是时间角度调用了onDestroy()
方法吗?
发布于 2017-04-07 00:58:11
当Angular运行更改检测并更新到NgIf
指令的ngIf
输入的绑定时,NgIf
将从DOM中删除该组件。从DOM中删除组件后,将调用ngDestroy()
,然后该组件就可以进行垃圾回收了。
如果在*ngIf
表达式为true时删除父组件,则父组件和子组件将一起销毁。不过,我不知道ngDestroy()
首先叫什么。
https://stackoverflow.com/questions/43259687
复制相似问题