繁体   English   中英

Angular2完全破坏当前组件

[英]Angular2 Destroy Current Component Completely

我尝试搜索谷歌和stackoverflow但无法找到答案。 所以我的问题很简单“如何在角度2,4中移除当前分量”

例:

<div (click)="remove($event)">Remove Current Component</div>

remove($event) {
    // this.destroy() ????
}

基本上我想要的是ComponentRef看到这个回答 ngOnDestroy()调用this.cmpRef.destroy()

ngOnDestroy() {
   if(this.cmpRef) {
     this.cmpRef.destroy();
   }    
}

但由于动态创建ComponentRef他正在获取ComponentRef

您可以在父模板中的组件元素上使用*ngIf="myBoolean"指令。 myBoolean变为false ,组件将被销毁。

不再存在组件或DOM元素。 (和ngOnDestroy事件提出)

如果myBoolean再次变为true ,则将实例化一个新组件。

一个新的将出现在DOM(并ngOnInit事件)

您的click事件可以发出一个事件(使用(myEventEmitter)语法在父组件中绑定,然后父组件中的方法可以将boolean设置为false

这个Plunker的演示。 如果它不符合您的需要,请考虑编辑您的问题以提供更具体的详细信息,包括Minimal Complete Verifiable示例

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM