繁体   English   中英

防止 MatDialog 实例被破坏

[英]Prevent MatDialog instance from destroying

我的应用程序中有一个按钮,可以在 MatDialog 中打开一个组件。 在组件中,我正在进行 API 调用。 在关闭 MatDialog 时,它将被销毁。

当我在单击按钮时第二次打开 MatDialog 时,我必须再次进行那些 api 调用,因为第一个实例已被破坏。

我正在寻找一个解决方案,其中我的第一个 MatDialog 实例不会被破坏,并且每次单击按钮时我都不必进行 api 调用。

我的代码如下:

this.dialogBox = this.dialog.open(FilterModal, {
      data: { filters: this.dataFilters, filtersjson: this.filtersjson },
      width: '300px',
      height: 'calc(100vh - 120px)',
      panelClass: 'custom-modalbox',
      hasBackdrop: false,
      position: { top: '120px', right: '0px' }
    });
    this.dialogBox.afterClosed().subscribe(res => {
      if (res) {
        // function();
      } else {
        // function2();
      }
    });

您可以将数据存储在行为主题中,这样当您再次调用对话框时,您可以使用.next 获取旧数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM