Як DI працює в standalone-компонентах?
У standalone-компонентах Angular система DI (Dependency Injection) працює так само, як у звичайних - просто без модуля.
Головне:
- У компонента є власний injector, який створюється під час його ініціалізації.
- Залежності можна вказувати в
providersпрямо в@Component(). Вони будуть доступні тільки цьому компоненту та його нащадкам. - Якщо залежність не знайдено в локальному інжекторі (injector), Angular йде вище - в root injector, де перебувають сервіси, позначені
@Injectable({ providedIn: 'root' }).
Тобто:
- Спочатку шукається в
providersкомпонента, - потім у батьківських компонентах,
- потім у корені застосунку.
DI залишається тим самим, просто ієрархія тепер будується без NgModule.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.