Skip to main content

Як DI працює в standalone-компонентах?

У standalone-компонентах Angular система DI (Dependency Injection) працює так само, як у звичайних - просто без модуля.

Головне:

  • У компонента є власний injector, який створюється під час його ініціалізації.
  • Залежності можна вказувати в providers прямо в @Component(). Вони будуть доступні тільки цьому компоненту та його нащадкам.
  • Якщо залежність не знайдено в локальному інжекторі (injector), Angular йде вище - в root injector, де перебувають сервіси, позначені @Injectable({ providedIn: 'root' }).

Тобто:

  1. Спочатку шукається в providers компонента,
  2. потім у батьківських компонентах,
  3. потім у корені застосунку.

DI залишається тим самим, просто ієрархія тепер будується без NgModule.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.