1

我正在关注这个博客的 Lazy Lodaing a Module

一切都很好,除了它要求我为要加载的模块分配静态路径的部分。

模块的名称将取决于用户的选择,因为我可能有许多模块

如何在路由中将变量分配给 loadChildren 以及如何在路由之前创建此变量

{ path: 'lazy', loadChildren: 'lazy/lazy.module#LazyModule' }
4

2 回答 2

1

如果您不使用 Ahead of Time 编译,您可以尝试将函数传递给loadChildren

{ path: 'lazy', loadChildren: () => 'lazy/lazy.module#' + dynamicModuleName }
于 2017-07-10T05:14:01.120 回答
0

One option is to define your custom module loader.

Another option is to use default exports. Since router uses the following code:

  private loadAndCompile(path: string): Promise<NgModuleFactory<any>> {
    let [module, exportName] = path.split(_SEPARATOR);
    if (exportName === undefined) {
      exportName = 'default';
    }

to load a module, you can export default module and don't pass any module name at all:

export default class MyModule {}
于 2017-07-10T05:18:23.687 回答