如果我不想将任何值传递给订阅(result =>{},如何使用dialogRef.afterClosed()



我的情况是我想打开一个对话框组件,在其中我从主组件传递一个值,然后关闭后我只想刷新主组件中的表,但不使用任何订阅或传递任何值给主组件。

代码如下:

openDialog(employeeId: string): void {
let dialogRef = this.dialog.open(ExampleDialogComponent, {
width: '250px',
data: employeeId,
});

dialogRef.afterClosed().subscribe(result => {
console.log('The dialog was closed');
this.dataSaved = true;
this.employeeIdUpdate = null;
this.employeeForm.reset();
this.loadAllEmployees();
});
}

现在变量result将作为undefined出现,但是我可以完全不使用订阅吗?我只是想下面的语句和函数工作后,我关闭对话框。谢谢你

  1. afterClosed()是最好的解决方案,如果您想在关闭后执行一些操作。如果你不想看到那个'result'因为它总是空的,你可以删除它。不用担心订阅,它只会发出一个值,不需要在onDestroy上取消订阅。

    dialogRef.afterClosed () .subscribe(() =比;{…

  2. 你也可以在模态中做动作,你只需要在关闭按钮上绑定click事件并在那里做动作,但这对你的情况没有多大帮助。

最新更新