Если вы хотите, чтобы ваша служба использовалась во всех / большинстве ваших компонентов в функциональном модуле, вам необходимо использовать эту службу у поставщиков функциональных модулей.
Преимущество в том, что один и тот же экземпляр службы доступен для всех ваших компонентов в этом функциональном модуле.
@NgModule({
providers: [yourService ]
})
export class featureModule {}
Если вы хотите использовать свой сервис для нескольких компонентов вашего функционального модуля, введите конфигурацию вашего провайдера на уровне компонентов.
@Injectable({ providedIn: 'root'})
Использование вышеуказанных метаданных на уровне компонентов позволяет Angular оптимизировать приложение, удаляя службу из скомпилированного приложения, если оно не используется в этих конкретных компонентах.