首页 > 解决方案 > 如何从 Angular Resolver 组件的 url 获取 id

问题描述

我正在使用解析器组件,但无法从 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'));
    }
);

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

标签: angularangular-routing

解决方案


根据Angular 文档,正如您在指南中的示例中看到的那样,该resolve方法采用两个参数,这些参数与您尝试解决的实际路线相关。

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

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

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


推荐阅读