Dependency injection в Angular
В этом уроке мы поговорим о dependency injection в Angular: обсудим injection токены, внедрение сервисов на разных уровнях, а также декораторы, которые указывают Angular, как искать зависимости.
Dependency injection в Angular — это один из ключевых принципов Angular. Dependency injection — дизайн паттерн, позволяющий использовать сущности (сервисы, пайпы и так далее) по всем приложению. Например, в нашем приложении users компонент работает только вместе с зависимостью (users сервис). Иными словами, user сервис инжектируется в user компонент.
По умолчанию сервисы доступны всему приложению (являются синглтонами). Об этом говорит значение provideIn: root внутри декоратора Injectable. Но сервисы (и другие сущности) можно внедрять на уровне модуля или компонента (уровни инжектора в Angular). Angular ищет зависимости «снизу вверх», то есть от локального инжектора (компонента) до корневого инжектора. Управлять этим поиском можно с помощью специальных декораторов, которые мы тоже рассмотрим в этом видео (@Self, @SkilSelf, @Optionanl).
В Angular разработчик может создавать (и внедрять в приложении) свои собственным токены. В этом уроке мы создаддим токен для внедрения базового урла для апи запросов.
0 Comments