Thi*_*zar 5 dependency-injection ng-modules angular
我正在从外部库导入可配置模块,如下所示:
@NgModule({
imports: [ThirdPartyModule.forRoot(MY_CONFIG)]
})
Run Code Online (Sandbox Code Playgroud)
问题是 MY_CONFIG 不是静态的,并且使用服务来定义其值,因此我将使用工厂来构建模块配置,如下所示:
@Injectable
class ConfigFactory {
constructor(private configService: ConfigService){}
public config(){
return {
someconfigvalue: this.configService.buildSomeConfigValue()
};
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我应该像这样重写导入
@NgModule({
imports: [ThirdPartyModule.forRoot(configFactory.config())]
})
Run Code Online (Sandbox Code Playgroud)
但我不知道如何注入配置工厂。
我知道如果我的供应商遇到这种情况,我可以使用工厂供应商。
模块导入有类似的东西吗?我可以使用工厂来导入模块吗?或者这个问题还有其他解决方案吗?
PS请注意,我无法更改 ThirdPartyModule 的代码。