В моем модуле я хочу вставить несколько провайдеров. Но я теряю поставщика окон при добавлении службы APP_INITIALIZER =
providers: [
AlertService,
ConfigurationService,
LocalStoreManager,
EndpointFactory,
BaseComponent,
BaseService,
{ provide: APP_INITIALIZER, useFactory: app_Init, deps:[BaseService], useClass:BaseService, multi:true },
{ provide: 'Window', useValue: window, useClass:window, multi:true }
],
Есть ли способ сделать это?
... Чтобы мой компонент мог загрузить его расположение окна =
@Component({
selector: 'management-root',
templateUrl: window["baseUrl"] + '/src/app/components/site/management.html'
})
Когда страница идет на загрузку, она сначала разрешает APP_INITILIZER, и эта служба возвращает данные. Затем, когда он получает templateUrl через window ["baseurl"], ничего не происходит. Ошибок нет, но ничего не загружается. Удаление строки APP_INITIALIZER из поставщиков позволяет приложению загружаться правильно.
Я только что удалил эту строку из APP_INITIALIZER provider = multi: true. Это вызвало следующую ошибку: «Смешивание нескольких и других поставщиков невозможно для токена». Теперь я думаю, что это связано со смешиванием нескольких поставщиков APP_INITIALIZER и одного окна ... Но это мне не помогает. Мне нужно, чтобы оба были предоставлены здесь, в модуле, чтобы их можно было использовать в разделе @Component перед конструктором ...





Что вы имеете в виду, вы теряете поставщика окон?