我在用
Angular Google Maps
(ngm)我的角6应用。我想将api密钥存储在config.json文件中,并通过配置服务读取它。配置服务已在应用程序初始值设定项中调用,如下所示:
应用模块:
export function initializeData(appConfig: AppConfig, authService: AuthService, localeService: LocaleService, clientConfigService: ClientConfigService, globalService: GlobalService) {
return () => {
try {
return appConfig.load().then(() => {
return Promise.all([authService.authenticateClient(), //...some other configs...//]).then((results) => {
return Promise.resolve();
}, (err) => {
return Promise.reject(err);
});
});
} catch (e) {
}
}
}
@NgModule({
providers: [
AppConfig,
{
provide: APP_INITIALIZER,
useFactory: initializeData,
deps: [AppConfig, AuthService],
multi: true
},
],
imports: [
AgmCoreModule.forRoot(),
]
});
我还进口了agmcoremodule。我知道我必须编写一个提供者来懒惰地加载API密钥如下:
{ provide: LAZY_MAPS_API_CONFIG, useClass: GoogleMapConfigService },
在googlemapconfigservice类中,我必须从配置访问api密钥:
AppConfig.settings.googleMapsApiKey;
问题是-AppOrth.St设置是未定义的,因为AppIn初始化器可能在
GoogleMapConfigService
被称为。
我该怎么做才能解决这个问题?