Angular 2+使用createComponent factory时如何使用和监听输出发射器

问题描述 投票:0回答:1

我在ParentComp中动态创建组件:

const factory = this.resolver.resolveComponentFactory<ChildComp>(component);
this.componentRef = this.container.createComponent(factory);
this.componentRef.instance.dataConfig = dataTab.dataConfig;

并且现在需要从此ChildComp发出一些结果,并从ParentComp监听此@output。

如何获取此数据?

angular dynamic components output emit
1个回答
0
投票

可以像下面这样轻松实现

在子组件中

 @Output() close = new EventEmitter<any>();

  emitEventMethodInChild() {
    this.close.emit('close')
  }

在父组件中

this.componentRef.instance.close.subscribe(response => {
    console.log('response from child to parent',response);
   // Here you can receive data output form child to parent component
}

这里,在上面的示例中,我关闭了作为事件发射器的位置。

希望有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.