【发布时间】:2023-03-25 05:33:01
【问题描述】:
我已经实现了能够获取请求并控制页面授权的功能,我想在出现错误请求的情况下重定向到登录页面。
public canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
return this.authSer.isAuthenticated().pipe(map((response) => {
console.log('I ma here');
if (response.status === 200) {
return true;
} else {
console.log('Error getting data');
return false;
}
}), catchError((error) => of(false))
);
}
如何从这里路由到登录页面?我正在使用角度 6
【问题讨论】:
-
注入路由器,调用router.navigate()。与您从其他任何地方导航的方式相同。你是否使用最新版本的 Angular,你也可以返回一个 Observable
而不是一个 Observable -
我是 Angular 新手,所以如果你能举例说明如何从 catchError 返回一个 observable
-
你已经从 catchError 返回了一个 observable。
-
我知道我正在抛出一个 observable,但假设我想在 catchError 打印一些值,我该怎么做
-
catchError(error => { console.log('hello'); return of(false); })。但这与你的问题有什么关系?你为什么要问这个问题,因为你已经在你的代码中使用了那个确切的语法?
标签: angular rxjs angular6 angular-guards