我需要将 id 作为参数传递给我的 Angular 组件
在我的html中我有这样的东西
<a [routerLink]="['/viewjobdetail', currentJob.id]">
{{ currentJob.title }}
</a>
app.module.ts RouterModule.forRoot 配置为
{ path: 'viewjobdetail/:id', component: JobDetailComponent }
在我的调用组件中有
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']);
});
但是当我检查它总是显示undefined时,我在这里做错了什么?
最佳答案
您应该使用params
或paramMap
而不是queryParams
,查询参数只能识别像viewjobdetail?id= 这样传递的查询参数23
queryParams
更好,因为 params
可能在未来的版本中被弃用
this.route.paramMap.subscribe(paramMap => {
debugger;
var a = paramMap.get('id');
this.displayJobId = parseInt(a);
});
关于angular - route.queryParams.subscribe 在 Angular Typescript 组件中返回未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65640399/