如何使用Angular中的ElementRef和resolveComponentFactory将数据从子级发送到父级?

我从父级内部动态创建的子框包含一个关闭按钮,该按钮触发一个关闭函数,该函数实际上是一个EventEmitter,消息应以某种方式到达父级,以便使用“ this.child.destroy();销毁子级组件”; ”

为了创建子代,父代中的代码:

childComponentRef: any;
@ViewChild('childComponentcontainer', {static : false, read: ViewContainerRef }) entry: ViewContainerRef;

createchildComponent(message:any) {
this.entry.clear();
const factory = this.resolver.resolveComponentFactory(childComponent);
this.childComponentRef = this.entry.createComponent(factory);
this.childComponentRef.instance.data = message;
}

closechildComponent($event){
console.log("dest")
//this.childComponentRef.destroy();

}

和html

<template #childComponentcontainer (close) = "closechildComponent($event)"></template>

要么

<template #childComponentcontainer></template>

和孩子

onClose() {
this.close.emit("close");

}

子级显示,但单击关闭按钮时无任何反应。我该如何解决?

谢谢!

评论