Що таке інжектор модуля (module injector)?
Інжектор модуля (module injector) - це інжектор, який створюється для конкретного модуля або області застосунку. Він живе всередині застосунку, але нижче кореневого інжектора в ієрархії.
Як працює:
- якщо Angular не знаходить залежність в інжекторі модуля, він піднімається вгору - до кореневого інжектора;
- якщо залежність зареєстрована тільки в модулі, вона доступна тільки всередині цього модуля.
Приклад:
ts
@NgModule({
providers: [UserService]
})
export class AdminModule {}Тут UserService зареєстрований в інжекторі AdminModule.
Він буде доступний тільки для компонентів, директив і сервісів цього модуля.
Навіщо потрібен:
- для ізоляції сервісів усередині певної частини застосунку;
- щоб уникнути конфліктів між однаковими залежностями в різних модулях;
- щоб можна було створювати окремі екземпляри сервісів для кожної області.
Підсумок: Інжектор модуля - це локальний контейнер залежностей, який керує сервісами тільки всередині свого модуля і взаємодіє з кореневим інжектором через ієрархію.
Коротка відповідь
Для співбесідиPremium
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.