问题描述
我已将 AngularFire 添加到一个 Angular 项目中,我正在尝试了解 AngularFireAuthGuard
的工作原理。查看 AngularFireAuthGuard 文件,我可以看到该类实现了 CanActivate
,但实际实现对我来说毫无意义。
-
首先查看签名,代码返回一个
Observable
布尔值。这不应该是同步的,因为我们想知道是否可以在之前激活路由,然后再进行其他操作? -
布尔值或
UrlTree
类是什么奇怪的返回类型? -
实际检查用户是否登录的代码在哪里?这看起来像一个实际的类,而不是一个接口,但我没有看到任何实际检查用户是否登录并可以激活路由的代码。
export declare class AngularFireAuthGuard implements CanActivate {
private router;
private auth;
constructor(router: Router,auth: AngularFireAuth);
canActivate: (next: ActivatedRouteSnapshot,state: RouterStateSnapshot) => Observable<boolean | import("@angular/router").UrlTree>;
static ɵfac: ɵngcc0.ɵɵFactoryDef<AngularFireAuthGuard,never>;
}
export declare const canActivate: (pipe: AuthPipeGenerator) => {
canActivate: (typeof AngularFireAuthGuard)[];
data: {
authGuardPipe: AuthPipeGenerator;
};
};
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)