如何防止 MatDialog 在外部单击但在我的 Angular 应用程序的所有对话框中关闭?我还意识到,在将 disableClose 设置为 true 后,转义键没有关闭对话框,所以我添加了一个主机侦听器来强制关闭,但这并不是最好的解决方案……对于特定的组件,我可以做到这一点。
export class MyAppComponent {
constructor(private dialog: MatDialog){}
open() {
this.dialog.open(ConfirmComponent, { disableClose: true });
}
@HostListener('window:keyup.esc') onKeyUp() {
this.dialogRef.close();
}
}
但是如何为我的应用程序中的所有对话框全局执行它,而不是在每个对话框组件中执行它并应用主机侦听器?