我正在动态创建component
并订阅其中一个@Ouput
EventEmitter
。
相关代码:
动态组件:
export class DynamicComponent implements OnInit {
@Output() results: EventEmitter<any> = new EventEmitter<any>();
...
}
父组件:
private loadDynamicComponent(): void {
const componentFactory = this.factoryResolver.resolveComponentFactory(DynamicComponent);
const componentRef = this.host.viewContainerRef.createComponent(componentFactory);
(<DynamicComponent>componentRef.instance).results.subscribe(result => {
this.result = result;
})
}
我很困惑我是否需要unsubscribe
或Angular
清理它?
答案 0 :(得分:0)
我不确定您是否需要取消订阅,但以防我(1)完成观察。
confirmDialogRef.instance.buttonClicked
.take(1)
.subscribe(val => {
this.appRef.detachView(confirmDialogRef.hostView);
resolve(val);
});