Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typescript/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何在其ts文件中销毁动态加载的组件?_Angular_Typescript_Components - Fatal编程技术网

Angular 如何在其ts文件中销毁动态加载的组件?

Angular 如何在其ts文件中销毁动态加载的组件?,angular,typescript,components,Angular,Typescript,Components,我创建了一个动态组件加载器,它工作正常,但如何在其ts.file中销毁该组件 动态加载的部件: <button class="btn btn-secondary" (click)="destroyComp()"> Destroy</button> 和HTML文件 <ng-template #popup></ng-template> 有一个destroy()方法,其工作原理与从DOM中删除组件一样 销毁组

我创建了一个动态组件加载器,它工作正常,但如何在其ts.file中销毁该组件

动态加载的部件:

<button class="btn btn-secondary" (click)="destroyComp()"> Destroy</button>
和HTML文件

<ng-template #popup></ng-template>

有一个
destroy()
方法,其工作原理与从DOM中删除组件一样

销毁组件实例及其关联的所有数据结构


cmpRef.destroy()

谢谢您的回答。问题是,
cmpRef
位于另一个组件中。但我想在单击同一组件中的按钮时销毁该组件。我不想存储ComponentRef,这就是为什么我想借助
destroyComp()
函数在自己的ts文件中销毁组件,但我不知道如何实现它function@CNIS创建服务时,您可以将
cmpRef
存储在服务中,这样,您可以从另一个组件访问它,并对其调用
destroy()
。@CNIS刚刚看到编辑,不幸的是,您必须将引用存储在某个位置才能访问它,或者,当父组件(如果有)被销毁时,其子组件也将被销毁。谢谢,我将把变量存储在某个地方。
<ng-template #popup></ng-template>