[英]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.