如何在延迟加载模块中延迟加载模块的角度?

时间:2018-04-01 13:26:32

标签: angular ng-modules

这是一个角度模块问题。

我有几个模块作为npm-packages导出,我需要它们用于我的应用程序。 我们称他们为InnerOuter模块。

在应用程序中,我配置了Inner,并使用它InnerModuleService

OuterModule我也有InnerModule依赖项,需要与应用程序中相同的InnerModuleService

但我不知道如何从我的应用程序传递InnerModule的配置。有人可以帮我吗?

这是更具说明性的代码段

#NPM-Package

let innerModuleConfig;

@NgModule({
    imports: [
        CommonModule,
        InnerModule.forChild({
            config: innerModuleConfig
        })
    ],
    exports: [InnerModule]
})

export class OuterModule {
    static forRoot(config: any): ModuleWithProviders {
        innerModuleConfig = config.innerModuleConfig;

        return {
            ngModule: OuterModule,
            providers: [InnerModuleService]
        };
    }
}

#APP

let appInnerModuleConfig = {};

@NgModule({
    imports: [
        OuterModule.forRoot({
            innerModuleConfig: appInnerModuleConfig
        })
    ],
    declarations: [AppComponent],
    bootstrap: [AppComponent]
})
export class AppModule {}

1 个答案:

答案 0 :(得分:0)

您可以使用带有模块文件路径的loadChildren属性执行此操作,然后使用散列#引用模块本身。

https://angular.io/guide/lazy-loading-ngmodules