我正在尝试使用
ActivatedRoute
服务从我的 Angular 组件中的 URL 检索参数值,但我得到了一个 null
参数值。这是我的网址:
http://localhost:4200/question/edit/2
这是我的路线配置:
const routes: Routes = [
{
path: 'question/edit/:id',
component: AddQuestionComponent
}
];
这是我在我的
AddQuestionComponent
中使用的代码:
import { ActivatedRoute } from '@angular/router';
constructor(private activatedRoute: ActivatedRoute) { }
ngOnInit() {
const id = Number(this.activatedRoute.snapshot.paramMap.get('id'));
console.log(id); // Output: null
}
我希望
console.log()
语句输出2
,但它正在输出null
。我也试过直接访问params
属性(this.activatedRoute.snapshot.params.id
),但也返回null
.
我做错了什么?任何帮助将不胜感激。谢谢!
尝试跟随
this.activatedRoute.params.subscribe((params) => {
const id = Number(params['id']);
console.log(id);
})
Solution One :
const id = Number(this.activatedRoute.snapshot.queryParamMap.get('id'));
console.log(id); // Output: null
Solution Two :
this.activatedRoute.queryParams.subscribe((params) => {
const id = Number(params['id']);
console.log(id);
})
Solution Three :
this.activatedRoute.params.subscribe((params) => {
const id = Number(params['id']);
console.log(id);
})