我有一个模块负责通过服务查询我的 API,我计划在许多应用程序中使用该模块。反过来,应用程序负责在方法中将配置(例如 API URL)传递给此模块forRoot:
export class APIModule {
static forRoot(appConfig: AppConfig): ModuleWithProviders {
return {
ngModule: APIModule,
providers: [
services.ProductService,
services.UserService,
{ provide: AppConfigToken, useValue: appConfig}
]
};
}
}
Run Code Online (Sandbox Code Playgroud)
我面临一个挑战,因为应用程序(即客户端模块)通过利用 .json 文件从 JSON 文件中获取配置APP_INITIALIZER。这是简化的定义:
@NgModule({
imports: [
APIModule.forRoot({ apiUrl: '' }) // ISSUE HERE
],
providers: [{
provide: APP_INITIALIZER,
multi: true,
deps: [AppConfigService],
useFactory: (appConfigService: AppConfigService) => {
return () => {
return appConfigService.getAppConfig();
}
}
}],
})
export class AppModule { }
Run Code Online (Sandbox Code Playgroud)
我的问题是:我怎么能调用APIModule.forRoot从useFactory?或者换句话说,我怎么能初始化APIModule的useFactory?我正在使用Angular7.
| 归档时间: |
|
| 查看次数: |
506 次 |
| 最近记录: |