检查更改正确但取消时出错

时间:2019-11-23 15:52:49

标签: angular angular7

我创建了一个canDeactivate防护措施,以检查在更改路线之前是否更改了表单数据。可以,并显示消息,但是当我单击“取消”按钮时出现此错误。

enter image description here

enter image description here

其中“ / admin / evento / fotos / amigos” 是用户单击“确定”按钮后将走的路线。

表单已更改防护

export interface FormChangedCanDeactivate {
    canDeactivate: () => Observable<boolean> | Promise<boolean> | boolean;
}

@Injectable()
export class FormChangedGuard implements CanDeactivate<FormChangedCanDeactivate>{

    canDeactivate(component: FormChangedCanDeactivate) {
        return component.canDeactivate();
    }

}

组成方法

...
canDeactivate(): Promise<boolean> | boolean { 
   return this.form.dirty ? confirm(this.mensagemSairSemSalvar) : true;
}
...

路由器配置

... 
{path: 'fotos', component: EventoFotosComponent, canActivate: [UsuarioGuard], canDeactivate: [FormChangedGuard]}, 
...

0 个答案:

没有答案