我正在使用MatDialogRef
以便从组件中调用模态。
关闭ModalComponent
时,我尝试取回数据,但是 似乎什么也没有传回。
dialogRef = dialog.open(ModalComponent,ConfigObj).afterClosed
.subscribe(data => console.log(data));
该模式的所有其他功能,包括将数据从baseComponent
传递到ModalComponent
似乎都正常。
答案 0 :(得分:1)
首先,获取对话框参考:
let dialogRef = dialog.open(ModalComponent,ConfigObj);
然后,在同一代码块中设置一个订户:
dialogRef.afterClosed()
.subscribe( data=>console.log(data));
另外,请记住,与您所做的不同,应该调用after ()
之后的CloseClosed。
答案 1 :(得分:0)
古老的问题,但如果有人偶然发现:
DialogRef将返回您在调用dialogRef.close()时传递的数据。完成对话框组件的操作后,调用:
const myDataObject = {
field1: 'My field'
}
dialogRef.close(myDataObject);
然后在您的父组件中,通过以下方式订阅数据:
dialogRef.afterClosed()
.subscribe( data => console.log(myDataObject.field1));
这将记录“我的字段”。
模态的返回值不是您传递的“数据”对象,而是您要返回的任何内容。