В чем разница между предоставленным any и root - PullRequest
3 голосов
/ 24 января 2020

В Angular 9 опция декоратора для инъекций providedIn имеет новое значение, называемое any. В чем разница между root и any?

Считается ли услуга единичной в том случае, если я использую any?

@Injectable({providedIn: 'any'})
class UsefulService {
}

Ответы [ 2 ]

4 голосов
/ 24 января 2020

Разница между root и any согласно официальной документации :

  • root: Инжектор уровня приложения в большинстве приложений.

  • platform: специальный инжектор синглтон-платформы, используемый всеми приложениями на странице.

  • any: получающий инжектор NgModule разрешение.

Для получения более подробной информации, пожалуйста, обратитесь к этой статье .

Является ли услуга единственной в том случае, если я использую any ? - Нет

0 голосов
/ 07 февраля 2020

angular 9 вводит новую опцию для инъекционного декоратора ProvidedIn в дополнение к предыдущим root и опциям модуля, теперь у нас есть две дополнительные опции platform, any

? root - это говорит Angular о предоставлении услуги на уровне приложения root, и услуга будет создана один раз ( singleton service ) и предоставит тот же экземпляр в каждом модуле, который вводит токен.

? любой - Предоставляет уникальный экземпляр в каждом модуле (включая ленивые модули) который внедряет токен.

? platform - Указание provideIn: 'platform' делает сервис доступным в специальном инжекторе синглтон-платформы, который используется всеми приложениями на странице.

подробный обзор областей Angular 's' root 'и' any 'поставщика

...