我在名为MyComponent的组件中使用NgbModal,根据用户操作打开一个模式后,可能需要从第一个模式中打开另一个模式。现在,我可以获取第一个模式关闭时返回的值,如示例https://medium.com/@izzatnadiri/how-to-pass-data-to-and-receive-from-ng-bootstrap-modals-916f2ad5d66e所示。有没有办法在打开的第二个模式中执行此操作,以便将结果返回给MyComponent?
这是我的代码,打开MyComponent的第一个模式:
let options:NgbModalOptions = {
size: 'lg',
backdrop: 'static'
};
const modalRef = this.modalService.open(Modal1Component, options);
现在,在Modal1Component组件中,当用户单击按钮时,我将打开一个名为Modal2Component的第二个模态,如下所示:
this.closeModal();
let options:NgbModalOptions = {
size: 'lg',
backdrop: 'static'
};
const modalRef = this.modalService.open(Modal2Component, options);
如上面代码中所示,第一个模式Modal1Component在打开Modal2Component之前已关闭。现在,我想在Modal2关闭后将结果从Modal2组件返回到MyComponent。有可能吗?
答案 0 :(得分:0)
您可以先打开第二个模式,获得其result
承诺,并在关闭第一个模式时将该参数作为参数传递:
const modalRef = this.modalService.open(Modal2Component, options);
this.activeModal.close(modalRef.result);