Angular 从不同的组件关闭“材质”对话框

Angular 从不同的组件关闭“材质”对话框,angular,angular-material,material-dialog,Angular,Angular Material,Material Dialog,我有一个打开材质对话框的组件 组件A openDialog(): void { const dialogRef = this.dialog.open(**component B**, { width: '1000px', }); 然后,我在该对话框中加载图像,并使用“上载”按钮,使用组件B将其上载到服务器。 现在,当我上传完图像后,我想从组件B关闭该对话框 组件B onUpload() { const fd = new FormData(); fd.a

我有一个打开材质对话框的组件

组件A

  openDialog(): void {
    const dialogRef = this.dialog.open(**component B**, {
      width: '1000px',
    });
然后,我在该对话框中加载图像,并使用“上载”按钮,使用组件B将其上载到服务器。 现在,当我上传完图像后,我想从组件B关闭该对话框

组件B

onUpload() {
  const fd = new FormData(); 
  fd.append('image', this.selectedFile);
  this.service.uploadImage(fd).subscribe(
    (res:any)=>
    {
//how to close dialog here ?

    },
我该怎么做

:

通过MatDialog创建的组件可以插入MatDialogRef并使用它关闭包含它们的对话框。关闭时,可以提供可选的结果值。此结果值作为afterClosed承诺的结果转发

导出类组件B{
建造师(
公共dialogRef:MatDialogRef
) {}
onUpload():void{
//上传资料
this.dialogRef.close();
}
}

你能告诉我们你到目前为止得到了什么吗(代码)?当然,对不起,我刚刚编辑了我的问题
export class ComponentB {
  constructor(
    public dialogRef: MatDialogRef<DialogOverviewExampleDialog>
  ) {}

  onUpload(): void {
    // upload stuff

    this.dialogRef.close();
  }
}