Инъекция зависимостей¶
30.09.2026
Общий код и единое управление поведением в приложении и тестах.
Когда логику нужно разделить между компонентами, Angular использует шаблон инъекции зависимостей. На нём делают «сервис»: код внедряют в компоненты и ведут его из одного места.
Что такое сервисы?¶
Сервис — это переиспользуемый код, который можно внедрить.
Как и компонент, сервис состоит из следующего:
- Декоратор TypeScript, который помечает класс как сервис Angular через
@Serviceи позволяет описать сервис, доступный в любом месте приложения. - Класс TypeScript с кодом, который станет доступен после внедрения сервиса.
Пример сервиса Calculator.
1 2 3 4 5 6 7 8 | |
Как пользоваться сервисом¶
Чтобы воспользоваться сервисом в компоненте, нужно:
- Импортировать сервис.
- Объявить поле класса, в которое внедряется сервис. Присвоить полю результат вызова встроенной функции
inject: она создаёт сервис.
Так это выглядит в компоненте Receipt:
1 2 3 4 5 6 7 8 9 10 11 | |
В этом примере Calculator получают вызовом функции Angular inject и передают в неё сервис.
Следующий шаг¶
Источник: https://angular.dev/essentials/dependency-injection