Angular 未指定名称时从 URL 获取查询参数
Angular Get queryParam from URL when no name is specified
如何从这样的 URL 中获取查询信息:
http://localhost:4200/reset?c564e265451e2e24be460f30271678b566d20fa9962000063bb6d079f5e376a0=
如果是 http://...reset?token=c56...
,我可以使用 queryParams
获取值,方法如下:
this.route.queryParams.subscribe((params)=>this.token = params['token']);`
但是当查询参数没有名称时,我不知道如何获取令牌。将 this.route.queryParams
记录到控制台时,我可以看到 _value 下的值。
我找到了几个解决方案:
我找到的第一个解决方案似乎有点难看:
this.route.queryParams.forEach((value) => this.token = Object.keys(value).shift());
然后我发现queryParamMap
,这样就没那么丑了:
this.route.queryParamMap.subscribe((value) => this.token = value.keys.shift());
所以我已经使用了 queryParamMap
解决方案,除非有人能找到做同样事情的捷径。
如何从这样的 URL 中获取查询信息:
http://localhost:4200/reset?c564e265451e2e24be460f30271678b566d20fa9962000063bb6d079f5e376a0=
如果是 http://...reset?token=c56...
,我可以使用 queryParams
获取值,方法如下:
this.route.queryParams.subscribe((params)=>this.token = params['token']);`
但是当查询参数没有名称时,我不知道如何获取令牌。将 this.route.queryParams
记录到控制台时,我可以看到 _value 下的值。
我找到了几个解决方案:
我找到的第一个解决方案似乎有点难看:
this.route.queryParams.forEach((value) => this.token = Object.keys(value).shift());
然后我发现queryParamMap
,这样就没那么丑了:
this.route.queryParamMap.subscribe((value) => this.token = value.keys.shift());
所以我已经使用了 queryParamMap
解决方案,除非有人能找到做同样事情的捷径。