在Angular 4 guard中读取查询字符串参数?

时间:2017-03-27 19:10:57

标签: angular

我正在尝试在Angular防护的canActivate方法中读取查询字符串参数。不幸的是,即使查询字符串存在,queryParamsActivatedRouteSnapshot中的RouterStateSnapshot参数也是空的。

示例:bla.com/?uid=123

该查询字符串参数可以发送到任何URL,我希望我的警卫能够查看它。

2 个答案:

答案 0 :(得分:2)

示例网址: http://example.com/oper/sale?code=you_code_here

import { ActivatedRouteSnapshot } from "@angular/router";
...

canActivate(route: ActivatedRouteSnapshot) {
    console.log("code", route.queryParams.code);
}

答案 1 :(得分:0)

或者如果您在路由中使用参数:

canActivate(route: ActivatedRouteSnapshot) {
  console.log("Id:", route.params['uid']);
}