且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

ViewContainerRef.clear() 是否从内存中删除组件?

更新时间:2023-12-05 18:24:22

否,如果您将父组件属性分配给 componentRef angular 不会从内存中删除组件.

Angular 只会销毁组件并删除它自己对这个组件的引用.但是对 componentRef 的引用仍然存在于您的组件属性中.所以我会给它分配 null .这样垃圾收集就可以清除内存

Plunker 示例(添加 => 清除 =>检查)

@Component({选择器:'我的应用',模板:`<div><button (click)="addComponent()">添加组件</button><div #container></div><button (click)="clear()">Clear</button><button (click)="check()">check</button>