4

サーバーからエラーが発生するたびにダイアログボックスを開くために、Angular アプリでangular material dialogcomponentを使用しています。

closeAll一度に複数のエラーが発生した場合、複数のダイアログ ボックスが開きますが、それは私にとっては問題ありません。メソッドを使用して、すべてのダイアログ ボックスを一度に閉じたいです。

closeAllこのエラーが発生するメソッドを使用しようとすると:

error TS2339: Property 'closeAll' does not exist on type 'MatDialogRef<DialogComponent, any>'.

ダイアログを開く方法:

 constructor(private dialog: MatDialog) {}
const dialogRef = this.dialog.open(DialogComponent, {
          width: "500px",
          height: "500px",
          disableClose: true,
          hasBackdrop: true,
          data: { name: this.name, animal: this.animal }
        });

DialogComponent.ts

onClose(): void {
    this.dialogRef.closeAll();
  }
app.module.ts

@NgModule({
  declarations: [
    DialogComponent,
    ...
  ],
  imports: [
    MatDialogModule,
    BrowserAnimationsModule,
    ...
  ],
  providers: [
      ...
  ],
  entryComponents: [ DialogComponent],
  bootstrap: [AppComponent]
})
export class AppModule {}

誰でも私を助けてもらえますか?

4

2 に答える 2

0

に注入MatDialogするDialogComponent.ts

  constructor(private dialog: MatDialog) { }

 onClose(): void {
    this.dialog.closeAll();
  }

于 2018-04-13T20:24:34.670 に答える