В очень хорошемот John Papa он рекомендует, как правило, регистрировать поставщиков в @NgModule
, а не в @Components
, поскольку редко приходится скрывать поставщиков от других компонентов , В Angular 1, где все провайдеры должны быть зарегистрированы на уровне модуля, об этом нет. Но какие ситуации потребовали бы преодолеть это эмпирическое правило?Регистрация поставщиков в угловом модуле или его компонентах
2
A
ответ
3
Если вы зарегистрируетесь в каждом компоненте, он будет каждый раз создавать new object for that service
, когда экземпляр компонента будет создан. Поэтому, если вам нужно, чтобы каждый компонент имел свою собственную услугу, укажите их в компонентах.
Если вам нужен singleton service
, укажите его в модуле, и все компоненты этого модуля получат тот же экземпляр службы.