我正在使用MatDialogRef
为了从组件调用模态。关闭时ModalComponent
,我尝试取回数据,但 似乎没有传回。
dialogRef = dialog.open(ModalComponent,ConfigObj).afterClosed
.subscribe(data => console.log(data));
模态的所有其他功能,包括将数据从 传递baseComponent
到ModalComponent
似乎工作正常。
我正在使用MatDialogRef
为了从组件调用模态。关闭时ModalComponent
,我尝试取回数据,但 似乎没有传回。
dialogRef = dialog.open(ModalComponent,ConfigObj).afterClosed
.subscribe(data => console.log(data));
模态的所有其他功能,包括将数据从 传递baseComponent
到ModalComponent
似乎工作正常。
老问题,但万一其他人偶然发现:
当您调用 dialogRef.close() 时,DialogRef 将返回您传入的数据。在对话框组件中完成后,调用:
const myDataObject = {
field1: 'My field'
}
dialogRef.close(myDataObject);
然后在您的父组件中,使用以下命令订阅数据:
dialogRef.afterClosed()
.subscribe( data => console.log(myDataObject.field1));
这将记录“我的领域”。
modal 的返回值不是您传入的“数据”对象,它只是您想要返回的任何内容。
首先,获取对话框引用:
let dialogRef = dialog.open(ModalComponent,ConfigObj);
然后,在同一代码块中设置订阅者:
dialogRef.afterClosed()
.subscribe( data=>console.log(data));
另外,请记住 afterClosed 应该被调用()
,这与您所做的不同。