MatDialogRef .afterClosed 可观察

Ada*_*amB 4 angular-material angular angular5 angular-material-6

我使用它是MatDialogRef为了从组件调用模态。关闭时ModalComponent,我尝试取回数据, 似乎没有任何信息传回

dialogRef = dialog.open(ModalComponent,ConfigObj).afterClosed
  .subscribe(data => console.log(data));
Run Code Online (Sandbox Code Playgroud)

Modal 的所有其他功能(包括从baseComponent到传递数据)ModalComponent似乎都工作正常。

小智 6

老问题,但万一其他人偶然发现这个:

DialogRef 将返回您调用dialogRef.close() 时传入的数据。当您完成对话框组件后,调用:

const myDataObject = {
field1: 'My field'
}
dialogRef.close(myDataObject);
Run Code Online (Sandbox Code Playgroud)

然后在您的父组件中,使用以下命令订阅数据:

dialogRef.afterClosed()
.subscribe( data => console.log(myDataObject.field1));
Run Code Online (Sandbox Code Playgroud)

这将记录“我的字段”。

模式的返回值不是您传入的“数据”对象,它只是您想要返回的任何内容。