RouteConfigLoadEnd-Handler中的角度访问route._loadedConfig

时间:2018-11-14 11:43:24

标签: angular typescript angular-routing

如何访问route._loadedConfig成员?始终是未定义的。

const a = (route as any)._loadedConfig;
const a =  (<any>route )._loadedConfig;
const a =  (<any>route )['_loadedConfig'];

这些工作都没有。

VS-Code在调试窗口中显示该值:

debug window

1 个答案:

答案 0 :(得分:0)

假设您要访问 _loadedConfig routes 对象(因为模块对象主要是内部角度填充,您不应该真正弄乱它)我会建议不要直接访问它,因为它不是公共api的一部分,因此可能会更改或变得不可靠。

要在加载时访问延迟加载的模块的子根,可以执行以下操作:

创建根注入服务

@Injectable({
  providedIn: 'root'
})
export class LazyLoadedChildRouteService {
    public updateLazyLoadedRoutes( childRoutes: Routes ){ ... }
    // CONSTRUCTOR
    constructor( ... ){ ... }
}

在模块文件中:

export const lazyLoadedRoutes: Routes = [
    {
      path: 'lazyRoute',
      component: LazyLoadedComponent
    },
]

@NgModule({
  ...
  imports: [
    RouterModule.forChild( lazyLoadedRoutes ),
  ],
  ...
})
export class LazyLoadedModule {
  /** CONSTRUCTOR */
  constructor(
    public $translateUrlService: FgTranslateRouterService
  ) {
    this.$translateUrlService.addChildModuleRoutes( lazyLoadedRoutes );
  }
}