我正在从这样的外部库中导入可配置模块:
@NgModule({
imports: [ThirdPartyModule.forRoot(MY_CONFIG)]
})
问题在于MY_CONFIG不是静态的,并利用服务来定义其值,因此我将使用工厂来构建模块配置,如下所示:
@Injectable
class ConfigFactory {
constructor(private configService: ConfigService){}
public config(){
return {
someconfigvalue: this.configService.buildSomeConfigValue()
};
}
}
在这种情况下,我应该像这样重写导入
@NgModule({
imports: [ThirdPartyModule.forRoot(configFactory.config())]
})
但是我不知道如何注入配置工厂。
我知道,如果我与供应商发生这种情况,我可以使用工厂供应商。
模块导入是否有类似的东西?我可以使用工厂导入模块吗?还是有解决此问题的另一种方法?
P.S。请注意,我无法更改ThirdPartyModule的代码。