Угловой сервис-декоратор обеспечен в корне эффектом при отложенной загрузке - PullRequest
0 голосов
/ 08 июня 2018

Мне интересно, как новый угловой сервисный декоратор

@Injectable({
    providedIn: 'root'
})

работает в сочетании с отложенной загрузкой.То есть, если у меня есть модуль с отложенной загрузкой и службой, предоставляемой в корне, это будет включать конкретную службу в базовый код приложений, иначе.корень приложения chunks.js или он все еще лениво загружает службу, а затем делает ее глобальным синглтоном, когда я лениво загружаю этот модуль.

1 Ответ

0 голосов
/ 26 октября 2018

Да, в этом случае это будет только часть вашего лени-загруженного модуля / блоков.При использовании providedIn: 'root' Angular-компилятор автоматически определит идеальный способ:

  1. Сервис будет доступен для всего приложения в виде синглтона без необходимости добавлять его в массив провайдеров модуля (например, Angular <= 5). </li>
  2. Если служба используется только в модуле с отложенной загрузкой, она будет загружена этим модулем с отложенной загрузкой
  3. Если она никогда не используется, она не будет содержаться в сборке (дереве).встряхнуло)* Если вы не хотите, чтобы одно приложение в масштабах всего приложения использовало вместо него массив поставщика.
  4. Если вы хотите ограничить область действия, чтобы никакой другой разработчик никогда не использовал ваш сервис вне определенного модуля, используйтевместо этого массив провайдера NgModule.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...