0

这是一个角度模块问题。

我有几个模块导出为 npm-packages,我的应用程序都需要它们。让我们称它们为Inner模块Outer

在应用程序中,我配置了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 {}
4

1 回答 1

0

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

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

于 2018-04-01T14:36:18.823 回答