Почему AOT требуется для совместного использования единого сервиса с внешним сервисом? - PullRequest
0 голосов
/ 05 марта 2020

Мое приложение зависит от внешнего ConfigService, который предоставляет некоторые глобальные настройки для моего приложения. Это часть внешней библиотеки, но служба настроена для внедрения в 'root'. Компоненты в моем приложении используют его через внедрение зависимостей. Кроме того, вторая внешняя служба EmployeeService также использует ее через внедрение зависимостей для доступа к настройке, необходимой для предоставления данных сотрудника в приложение.

Почему EmployeeService всегда получает новый ConfigService, а не услуга singleton предоставляется в root, если только я не работаю с AOT, как ng serve --aot?

Подводя итог:

  • ConfigService - providedIn: 'root', часть внешней библиотеки зависимость
  • AppComponent - ConfigService введена здесь; компонент устанавливает и показывает некоторые настройки
  • EmployeeService - ConfigService, введенные здесь; часть внешней библиотеки; получает новый экземпляр ConfigService, когда ng serve не установлен на --aot
...