Angular AcitivatedRoute无法正确提取queryParams

时间:2019-04-16 10:05:35

标签: angular routes

我需要提取给定URL的queryParam,然后尝试使用ActivatedRoute对象这样做:

ngOnInit() {
    let code: string;
    //option 1 code = this.activatedRoute.snapshot.queryParamMap.get('code');
    //option 2 this.activatedRoute.queryParamMap.subscribe(queryParams => code = queryParams.get('code'));
    console.log(code);

  }

两个方法的结果相同,它们提取的代码与给定URL中的代码不同。

有人知道我犯了什么错吗?非常感谢你!

2 个答案:

答案 0 :(得分:0)

请检查是否已从“ @ angular / router”导入ActivatedRoute,并且有必要将此ActivatedRoute注入构造函数中作为依赖项注入。

然后我们可以使用ActivatedRoute从URL获取queryparam。

答案 1 :(得分:0)

它是相同的,但是如果您想要相同的值,则必须对其进行编码

let code: string;
//option 1 code = this.activatedRoute.snapshot.queryParamMap.get('code');
//option 2 this.activatedRoute.queryParamMap.subscribe(queryParams => code = queryParams.get('code'));
console.log(decodeURI(code)); // decode it here