Я не могу понять преимущества этого.
У меня есть служба, которая называется AgencyService .
Эта AgencyService вызывается в компоненте объявленный в загруженный ленивый Модуль
В каком-то другом посте кто-то сказал, что вы видите разницу в использовании providedIn: 'root'
, если вы печатаете какой-то текст в конструкторе службы так, вот что Я сделал. Я поместил console.log в конструктор AgencyService .
Проведя некоторые исследования, я увидел, что преимущества providedIn: 'root'
в том, что этот сервис будет загружен lazyLoaded, когда какой-то модуль потребует его, и не будет, если вы поместите его традиционным способом в массив providers = []
в модуле приложения.
Итак, я проверил его, и он печатает текст каждый раз, когда я вхожу в URL этого ленивого загрузочного модуля. Неважно, если я введу его с помощью providedIn: 'root'
или я положу его в массив providers
модуля приложения, который, как я ожидал, напечатает текст при запуске приложения, а не при достижении этого модуля
Когда создается услуга? Когда вызывается конструктор этого сервиса? Чего мне не хватает? У меня в голове беспорядок: /