Я пытаюсь вставить переменную в forRoot({[...]})
метод углового модуля.
Я получил эту переменную асинхронно, поэтому я попытался получить ее до начальной загрузки Angular. (Исходит от cordova.js )
Проблема:
Похоже, что Angular импортирует модули (и вызывает методы 'forRoot') перед загрузкой.
Есть ли способ достичь этого?
Спасибо!
Пример того, что я пробовал:
app.module.ts
import {NgModule} from '@angular/core';
import {AgmCoreModule} from '@agm/core';
@NgModule({
imports: [
AgmCoreModule.forRoot({
apiKey: window['device'].platform, // value is 'null' instead of 'browser' or something else
libraries: ['places']
})
],
// [...]
bootstrap: [AppComponent]
})
export class AppModule {
}
ЦСИ / main.ts
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app/app.module';
import { environment } from './environments/environment';
if (environment.production) {
enableProdMode();
}
document.addEventListener('deviceready', () => {
console.log(window['device'].platform); // log 'browser'
platformBrowserDynamic().bootstrapModule(AppModule)
.catch(err => console.log(err));
}, false);
/! \ Советы
Библиотека, которую я использую (@ agm / core), ожидает строку как apiKey , а не функцию ...