我正在处理一个有很多表单页面的项目,我想在最终用户尝试导航到另一条路线而不保存更改时向他们提供提示。在所有页面中,我使用的是这样的反应形式
this.mainForm = this.formBuilder.group(...
那么我可以让一个可以为我的所有组件停用Guard 的东西吗?
@Injectable()
class CanDeactivateTeam implements CanDeactivate<... something magic here want to pass component dynamically...> {
constructor() {}
canDeactivate(
component: ...dynamicComponent,
currentRoute: ActivatedRouteSnapshot,
currentState: RouterStateSnapshot,
nextState: RouterStateSnapshot
): Observable<boolean|UrlTree>|Promise<boolean|UrlTree>|boolean|UrlTree {
if(!this.mainForm.dirty) return true;
}
}
是否可以对所有页面进行相同的禁用保护以防止表单更改?
提前致谢。