【发布时间】:2020-07-09 07:20:01
【问题描述】:
如何获取 Angular Material 对话框的值,并将其发送给 Parent?
我知道如何在他们关闭对话框后获取数据。 只是好奇如何在对话框仍然打开时获取数据,或者特别是当人们在对话框中按下按钮时。
public openPropertySearchDialog(): void {
const propertySearchDialogRef = this.propertySearchDialog.open(PropertyGridDialogComponent,
{
width: '1500px',
height: '950px',
data: this.propertyList,
hasBackdrop: false
});
propertySearchDialogRef.afterClosed().subscribe(result => {
console.log('propertyResult', result);
});
}
更新:
这将订阅数据。现在我只需要在 Dialog 组件中按下 Button 时知道数据。考虑为按钮按下事件添加另一个订阅,寻找干净的方式,而不是添加 2 个订阅。
propertySearchDialogRef .componentInstance.propertyOutput.subscribe((data: any) => {
console.log('test',data);
});
https://material.angular.io/components/dialog/api
许多在线资源是在窗口关闭时,寻找打开并按下按钮(不会关闭对话框)
How to pass data to afterClosed() in Angular Material Dialog in Angular 6
【问题讨论】:
-
我不认为 MatDialog 中有用于此的 api。您应该简单地使用服务来进行这种通信。
标签: angular typescript angular-material angular8 material-dialog