如何从 Angular Resolver 组件的 url 获取 id

And*_*len 5 angular-routing angular

我正在使用解析器组件,但无法从 url 获取 id。

Stackblitz - https://stackblitz.com/edit/angular-x4djgz

如果我导航到supplier/3

params.get('id') null从解析器和params.get('id') 3最终组件中获取。如何在解析器中获取端点 ID。

route.paramMap.subscribe(
    (params: ParamMap) => {
      console.log("params.get('id')", params.get('id'));
    }
);
Run Code Online (Sandbox Code Playgroud)

这个问题已经过大量编辑,因为我最初认为这与作为 angular+electron 应用程序有关。

bra*_*o23 7

根据Angular 文档,正如您在指南中的示例中所见,该resolve方法采用与您尝试解析的实际路线相关的两个参数。

在解析器中使用它可以解决问题:

resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot){
    console.log("params.get('id')", route.paramMap.get('id'));
    return of('dummy').pipe(delay(50));
  }
Run Code Online (Sandbox Code Playgroud)

https://stackblitz.com/edit/angular-4fkspm