Инъекция зависимостей в Angular¶
2.08.2022
Когда вы разрабатываете небольшую часть системы, например, модуль или класс, вам может понадобиться использовать функции других классов. Например, вам может понадобиться HTTP-сервис для выполнения обращений к бэкенду. Инъекция зависимости (Dependency Injection, или DI) — это шаблон проектирования и механизм создания и передачи одних частей приложения другим частям приложения, которым они необходимы. Angular поддерживает этот шаблон проектирования, и вы можете использовать его в своих приложениях для повышения гибкости и модульности.
В Angular зависимости обычно представляют собой сервисы, но они также могут быть значениями, например, строками или функциями. Инжектор для приложения (создаваемый автоматически во время bootstrap) инстанцирует зависимости, когда это необходимо, используя настроенный поставщик сервиса или значения.
Смотрите код для рабочего примера, содержащего фрагменты кода из этого руководства.
Предварительные условия¶
Вы должны быть знакомы с приложениями Angular в целом и иметь фундаментальные знания о компонентах, директивах и модулях NgModules
. Настоятельно рекомендуем вам пройти следующий учебник:
Приложение и учебник Tour of Heroes
Узнайте об инъекции зависимостей Angular¶
-
Понимание инъекции зависимостей
Изучите основные принципы внедрения зависимостей в Angular.
-
Создание и внедрение сервиса
Описывается, как создать службу и внедрить ее в другие службы и компоненты.
-
Настройка поставщиков зависимостей
Описывается, как настраивать зависимости с помощью поля providers в декораторах
@Component
и@NgModule
. -
Иерархические инжекторы
Иерархический DI позволяет обмениваться зависимостями между различными частями приложения только тогда, когда и если это необходимо.