![](/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.