如何在angular6中的Authguard中包含“角度材质”对话框
当用户单击按钮打开angular material多个对话框时,我必须限制登录,我不知道如何使用angular authguard进行登录。Guards可以使用observable,因此您只需返回一个observable,它打开一个对话框,然后传递true或false 例如,在我关于canDeactivate guards的项目中,无论在哪种情况下,它是如何在相同的原则下工作的如何在angular6中的Authguard中包含“角度材质”对话框,angular,dialog,angular-material,angular6,Angular,Dialog,Angular Material,Angular6,当用户单击按钮打开angular material多个对话框时,我必须限制登录,我不知道如何使用angular authguard进行登录。Guards可以使用observable,因此您只需返回一个observable,它打开一个对话框,然后传递true或false 例如,在我关于canDeactivate guards的项目中,无论在哪种情况下,它是如何在相同的原则下工作的 canDeactivate( component: Component, curren
canDeactivate(
component: Component,
currentRoute: ActivatedRouteSnapshot,
currentState: RouterStateSnapshot,
nextState?: RouterStateSnapshot
): Observable<boolean> | Promise<boolean> | boolean {
// Opens a modal and returns an observable
return this.ps.openModal({
confirmMessage: confirmMessage,
confirmHeader: confirmHeader,
modalColor: modalColor,
approve: approve,
cancel: cancel,
buttonsColor: buttonsColor
});
}
如果对话框是一个单独的组件
import {Injectable} from '@angular/core';
@Injectable()
export class AuthGuard implements CanActivate {
canActivate(route) {
// check if logged in here
if(notLoggedIn) {
this.router.navigate(['/update-password']);
return false;
}
return true
}
如果不是单独的组件,则执行此操作
// button to open dialog
openDialog() {
if(notLoggedIn) {
this.router.navigate(['/update-password']);
return false;
}
}
问题还不清楚。如果我了解您的问题,可以在AuthGuard中打开“创建材质”对话框,并在单击按钮时调用“打开”对话框。AuthGuard用于保护管线和组件加载