如果您的Angular版本是15并且ActivatedRoute.snapshot.params返回null,则您可以通过以下方式解决此问题:
在组件的构造函数中注入ActivatedRoute:
import { ActivatedRoute } from '@angular/router';
constructor(private route: ActivatedRoute) {}
在ngOnInit()方法中获取参数并将其存储在变量中:
ngOnInit() { const id = +this.route.snapshot.params['id']; if (id) { this.getItemDetails(id); } }
请注意,如果参数的名称是“id”,则使用“+”进行类型转换。如果名称不是“id”,请使用相应的参数名称。
此外,您还可以查看ActivatedRoute是否提供参数值的可观察对象。 例如:
this.route.params.subscribe(params => { const id = +params['id']; if (id) { this.getItemDetails(id); } });
这将为您提供可观察到的参数值,并且每当路由参数更改时,都会执行订阅方法。
希望这能解决您的问题!