canDeactivate Angular材质对话框的问题(用作子组件)

时间:2019-12-28 09:12:40

标签: angular

Am使用CanDeactivate防护来提醒用户有关即将发生的更改,除以下情况外,该方法工作正常: 模拟:1.转到主页。 2.单击按钮->打开角形材料对话框。 3.进行一些编辑,然后将导航切换到主菜单上的另一条路线。 结果-> 1.待更改警告带有退出或继续选项。 2.单击继续->保持不带路线切换。 3.单击“退出”->“导航到新路线”。不过,按 DIALOG REMAINS OPEN .. !! (需要单独关闭)

 contactDetails(){
    const dialogRef = new MatDialogConfig();
   // dialogRef.disableClose = true;
    dialogRef.autoFocus = true;
    this.dialog.open(ContactinfoComponent, dialogRef);      
    }


export class ContactinfoComponent implements OnInit {    
  disableSave: boolean | true;    
  constructor(public dialogRef: MatDialogRef<ContactinfoComponent>,
    @Inject(MAT_DIALOG_DATA)) { }    
  ngOnInit() {
  }
  submit() {
    }  
  onNoClick(): void {
      this.dialogRef.close();
    }
}

注意,这是模块中的一个入口组件,因此我无法使用路由来关联警卫。试图在模态对话框上单独实现防护,仍然没有用。

在此方面的任何帮助都将受到高度赞赏。 谢谢 ASJ

0 个答案:

没有答案