我正在努力获得价值,但它不起作用。下面是我的网址我希望从网址获取1
为数字
constructor(private router: Router,
private userService: UserService) {
this.router
.routerState
.queryParams
.subscribe(params => {
this.id = params['id'];
});
答案 0 :(得分:5)
您应该注入 ActivatedRoute 以获取 路线参数 ,如下所示,
constructor(private router: Router,
private userService: UserService,
private route: ActivatedRoute,) { //<----- here
this.route.params.subscribe(params => {
this.id = +params['id']; //<----- + sign converts string value to number
});
在此处阅读更多内容:https://angular.io/docs/ts/latest/guide/router.html#!#route-parameters
答案 1 :(得分:1)
很棒的回复!只是一个附加组件:
属性名称已更新。使用paramMap
代替params
和queryParamMap
代替queryParams
请参阅https://angular.io/guide/router#activated-route
一个例子:
constructor(private activatedRoute: ActivatedRoute) { }
ngOnInit() {
this.activatedRoute.paramMap.subscribe((params: ParamMap) => {
console.log(params.get("id"));
})
}
有关可用方法,请参阅此链接: https://angular.io/api/router/ParamMap