angular - NgbModal - 打开子模态时将结果返回给父级
问题描述
我在名为 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。可能吗?
解决方案
您可以先打开第二个模态,获得它的result
承诺,然后在关闭第一个模态时将其作为参数传递:
const modalRef = this.modalService.open(Modal2Component, options);
this.activeModal.close(modalRef.result);
推荐阅读
- ibm-doors - 打开模块时自动打开对话框(带按钮)
- dependency-injection - 如何解决来自特定 koin 模块的变量的依赖关系?
- android - 从数据库动态接收数据时设置文本的背景颜色
- c++ - 虽然循环不读取整个 ifstream 文件
- php - Docusign api - 代表另一个用户发送信封
- git - 在签出开发分支时,对来自其他分支的文件的更改仍然存在
- ios - iOS - 如何区分 UI 和单元测试,以及如何在这种具体情况下使用它们?
- c# - 使用 C# 和 Powershell 从 SQL Server 视图生成 CSV 文件时 CPU 使用率高
- reactjs - 我使用 android studio 在 linux 中运行 react native 应用程序。但我总是得到构建工具 27.0.3 的错误
- scala - Kryo 序列化问题 Spark