Angular4之间的孩子动态创建的组件之间的通信
问题描述:
我有一个Angular4组件,只要用户按下加号按钮,就可以动态创建许多孩子。子组件有一个输入选择,必须在选项选择后向父组件发送信息。正在ComponentFactoryResolver创建Angular4之间的孩子动态创建的组件之间的通信
儿童组件下面的部分
let componentFactory = this.componentFactoryResolver.resolveComponentFactory(MyComponent);
let viewContainerRef = this.anchor.viewContainerRef;
viewContainerRef.createComponent(componentFactory);
子组件具有使用EventEmitter输出,但什么也没有发生在应用程序运行时。
我试过没有动态创建,工作正常。
我搜索了很多例子,但他们都没有考虑angular4或父与动态创建子之间的通信。
答
试试这个:
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” 是你的子组件发出一个变量名。
你能否为你的问题创建一个重要的例子。找到解决方案将会很有帮助 –