![](/img/trans.png)
[英]angular - passing queryParams to active route before navigating to another route
[英]Can CanActivate in Angular continue after navigating to another route?
在身份验证丢失的身份验证卫士中,我想显示Facebook登录名。 不知道是否会工作做router.navigate(['login'])
在canActivate
触发认证,并返回登录的异步结果还是会被打断router.navigate
电话。 在这里想知道适当和简单的流程。
对的,这是可能的。 您还可以使用navigationByUrl转到Facebook
import { Injectable } from '@angular/core';
import { CanActivate, Router, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
import { UserService } from './user.service';
@Injectable()
export class AuthGuardService implements CanActivate {
constructor(private userService: UserService, private router: Router) {}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (this.userService.isValid()) {
return true;
} else {
this.router.navigate(['/login'], {
queryParams: {
return: state.url
}
});
return false;
}
}
}
代码片段来源/更多示例可以在以下位置找到: http : //gnomeontherun.com/2017/03/02/guards-and-login-redirects-in-angular/
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.