我正在使用解析器组件,但无法从URL获取ID。
Stackblitz-https://stackblitz.com/edit/angular-x4djgz
在堆叠闪电战中,如果我导航到ConcurrentModificationExceptions
:
我从解析器获取supplier/3
,从最终组件获取params.get('id') null
。如何在解析器中获取端点ID。
params.get('id') 3
这个问题已经过大量编辑,因为我原本以为这是一个角度+电子应用程序。
答案 0 :(得分:2)
根据the Angular doc,正如您在guide的示例中看到的那样,resolve
方法采用两个与您要解析的实际路线相关的参数。
在解析器中使用此命令可解决此问题:
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot){
console.log("params.get('id')", route.paramMap.get('id'));
return of('dummy').pipe(delay(50));
}
答案 1 :(得分:1)
您可以通过下面的代码段在解析器中获取ID,
resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot)
: Observable<any> | Promise<any> | any {
let id = route.params['id'];
return this.service.get(id);
}
答案 2 :(得分:0)
尝试一下
constructor(private route: ActivatedRoute) {
route.params.subscribe(
(params) => {
console.log("params.get('id')", params['id']);
});
}