这是我的代码。还有其他更好或最好的方法来从url获取queryParams吗?
getSolutionId(){
let solutionId: number;
this.activatedRoute.queryParams.subscribe((queryParams) => {
solutionId = queryParams.solutionId ? queryParams.solutionId: null;
});
return solutionId;
}
答案 0 :(得分:1)
您使用路由器快照:
getSolutionId() {
return this.activatedRoute.snapshot.queryParamMap.solutionId;
}
https://angular.io/api/router/ActivatedRouteSnapshot#queryParamMap
答案 1 :(得分:1)
this comment已经回答了这个问题,该参考文献还引用了the Angular docs,描述了如何实现此目标。
答案 2 :(得分:0)
您可以执行以下操作:
this.activatedRoute.queryParams.subscribe((params: Params) => {
this.param = params['name'];
}).unsubscribe();
}
这是区分大小写
答案 3 :(得分:-1)
我不确定您要获取查询参数的要求是什么。
假设您正在尝试创建一些全局方法来获取queryParams(如果有)。您可以像这样在每个路由器更改上调用方法-
this.router.events.subscribe(route => {
this.activatedRoute.queryParams.subscribe((queryParams) => {
solutionId = queryParams.solutionId || null;
});
});