Angular2完全销毁当前组件

Tou*_*afi 7 javascript angular

我尝试搜索google和stackoverflow,但找不到答案。所以我的问题很简单:“我如何去除角度2、4中的当前分量”

例:

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

remove($event) {
    // this.destroy() ????
}
Run Code Online (Sandbox Code Playgroud)

基本上我想要的是ComponentRef看到这个答案 ngOnDestroy(),它叫this.cmpRef.destroy()

ngOnDestroy() {
   if(this.cmpRef) {
     this.cmpRef.destroy();
   }    
}
Run Code Online (Sandbox Code Playgroud)

但是ComponentRef由于动态创建组件,他得到了应有的回报。

Pac*_*ac0 6

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

不再存在任何组件或DOM元素。(并ngOnDestroy引发事件)

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

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

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

此柱塞上的演示。如果不符合您的需求,请考虑编辑您的问题以提供更具体的细节,包括“ 最少完整可验证”示例