Angular route.queryParams.subscribe返回角度类型脚本组件中未定义的
我需要将id作为参数传递给我的角度分量Angular route.queryParams.subscribe返回角度类型脚本组件中未定义的,angular,typescript,url-routing,angular2-routing,Angular,Typescript,Url Routing,Angular2 Routing,我需要将id作为参数传递给我的角度分量 this.route.queryParams.subscribe(params => { var a = params.id; } 在我的html中,我有如下内容 <a [routerLink]="['/viewjobdetail', currentJob.id]"> {{ currentJob.title }} </a> 在我的调用组件中,我有 import { Activ
this.route.queryParams.subscribe(params => {
var a = params.id;
}
在我的html中,我有如下内容
<a [routerLink]="['/viewjobdetail', currentJob.id]">
{{ currentJob.title }}
</a>
在我的调用组件中,我有
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute){}
ngOnInit(): void {
this.route.queryParams.subscribe(params => {
debugger;
var a = params['id'];
this.displayJobId = parseInt(params['id']);
});
但是当我检查它时,它总是显示未定义的,我在这里做错了什么?
}您应该使用
params
或paramMap
而不是queryParams
,查询参数只能识别传递的查询参数,如viewjobdail?id=23
queryParams
更好,因为params
在将来的版本中可能会被弃用
this.route.paramMap.subscribe(paramMap => {
debugger;
var a = paramMap.get('id');
this.displayJobId = parseInt(a);
});
您应该使用
params
或paramMap
而不是queryParams
,查询参数只能识别传递的查询参数,如viewjobdail?id=23
queryParams
更好,因为params
在将来的版本中可能会被弃用
this.route.paramMap.subscribe(paramMap => {
debugger;
var a = paramMap.get('id');
this.displayJobId = parseInt(a);
});
我找到了解决办法。为了实现这一点,我们需要将查询参数与queryParams一起使用。我修改了我的html如下
<a [routerLink]="['/viewjobdetail']" [queryParams]="{id: currentJob.id}">
{{ currentJob.title }}
</a>
然后在我的调用组件中
this.route.queryParams.subscribe(params => {
var a = params.id;
}
我找到了解决办法。为了实现这一点,我们需要将查询参数与queryParams一起使用。我修改了我的html如下
<a [routerLink]="['/viewjobdetail']" [queryParams]="{id: currentJob.id}">
{{ currentJob.title }}
</a>
然后在我的调用组件中
this.route.queryParams.subscribe(params => {
var a = params.id;
}
因此,如果我使用queryParams,我应该如何在我的html a标记中声明它?@NithinPaul如果你想在html中使用queryParams,请按照刚才在我的回答中更新的代码中所述使用它我错误地使用了queryParams而不是paramMap,以及Ruben注释,如果您使用了paramMap,您不需要在htmlSo中更改任何内容。如果我使用queryParams,我应该如何在我的html a标记中声明它?@NithinPaul如果您想在html中使用queryParams,请按照刚才在我的回答中更新的代码中所述使用它。除了Ruben注释之外,我错误地使用了queryParams而不是paramMap,如果使用paramMap,则无需更改html中的任何内容