将EventEmitter从子组件发送到Ngbootstrap中的父组件



我想将模态事件从子组件传递到模态的母体组件,但是我遇到了一个错误" modalrf.componentinstance.confirmationevent event不是函数"

儿童组件:modaltestcomponent.ts

@Input() idModal: string;
@Input() titre: string;
@Input() message: string;
@Output() confirmationEvent = new EventEmitter<any>();
constructor(public activeModal: NgbActiveModal) {
}
public confirmer() {
   this.confirmationEvent.emit();
}

父部件

openActiviteModal() {
   const modalRf = this.modalService.open(ModalTestComponent, 'TestModalId');
   modalRf.componentInstance.titre = 'HELLO WORLD';
   modalRf.componentInstance.message = 'THANKS';
   modalRf.componentInstance.confirmationEvent().subscribe(
       res => {
           if (res && res !== '' && res !== undefined) {
               this.afterConfirmChangementActivite();
           }
       }
   );
}

尽管事实最好在选择器中添加confirmationEvent(请参阅此答案(,但我认为您可以简单地通过modalRf.componentInstance.confirmationEvent

删除括号来修复代码
modalRf.componentInstance.confirmationEvent.subscribe(
   res => {
       if (res && res !== '' && res !== undefined) {
           this.afterConfirmChangementActivite();
       }
   }
);

最新更新