как я могу получить доступ к окну в экспортированной функции? - PullRequest
0 голосов
/ 30 мая 2020

учитывая модуль, сгенерированный генератором opeapi, он ожидает параметры конфигурации, в частности baseUrl для вызовов API. Мне нужно восстановить baseUrl из объекта конфигурации, введенного в окно. Как мне его восстановить? Я не могу получить прямой доступ к окну, потому что компилятор меня блокирует. Как я могу это сделать?

импортированный angular модуль:

ApiModule.forRoot(apiConfig)

функция:

export function apiConfig() {
  return new Configuration({
    basePath: '',
  });
}

что я ожидаю:

export function apiConfig () {
   return new Configuration ({
     basePath: 'window.config.baseUrl',
   });
}

решение:

function _window(): any {
  return window
}

export function apiConfig() {
  return new Configuration({
    basePath: _window().config,
  });
}

Ответы [ 2 ]

0 голосов
/ 17 июня 2020

Просто объявите объект window под импортом вашего файла

import ....

declare let window: any;

export function apiConfig () {
  return new Configuration ({
      basePath: window.config.baseUrl,
 });
}
0 голосов
/ 30 мая 2020

Возможно, вам придется обернуть ссылку на объект окна, а затем добавить его в качестве поставщика для использования в вашем компоненте. Смотрите здесь: https://juristr.com/blog/2016/09/ng2-get-window-ref/

...