首页 文章

子进程之间的Angular4通信动态创建组件到父组件

提问于
浏览
1

我有一个Angular4组件,一旦用户按下加号按钮,就会动态创建许多孩子 . 子组件具有输入选择,该选择必须在选项选择之后将信息发送到父组件 .

子组件由ComponentFactoryResolver创建,如下所示

let componentFactory = this.componentFactoryResolver.resolveComponentFactory(MyComponent);
let viewContainerRef = this.anchor.viewContainerRef;
viewContainerRef.createComponent(componentFactory);

子组件具有使用EventEmitter的输出,但在应用程序运行时没有任何反应 .

我试过没有动态创作,工作正常 .

我搜索了很多例子,但没有一个考虑angular4或父和动态创建的孩子之间的沟通 .

1 回答

  • 0

    试试这个:

    let componentFactory = this.componentFactoryResolver.resolveComponentFactory(MyComponent);
    let viewContainerRef = this.anchor.viewContainerRef;
    const dynamicComponentInstance = viewContainerRef .createComponent(componentFactory)
                .instance;
    dynamicComponentInstance['childEventEmitter'].subscribe((eventEmitter) => {
              console.log(eventEmitter)
            });
    

    “childEventEmitter”是您从子组件发出的变量名称 .

相关问题