Skip to main content

Що таке інжектор компонента (element injector)?

Інжектор компонента (element injector) - це інжектор, який Angular створює для кожного компонента. Він відповідає за залежності, доступні тільки цьому компоненту та його дочірнім елементам.


Як це працює:

  • кожен компонент під час створення отримує свій власний інжектор;
  • якщо в компоненті вказані провайдери, Angular зберігає їх саме там;
  • під час пошуку залежності Angular йде знизу вгору: спочатку в інжектор компонента, потім - до модульного і кореневого.

Приклад:

ts
@Component({ selector: 'app-user', template: `<p>Профіль</p>`, providers: [UserService] // провайдер на рівні компонента }) export class UserComponent { constructor(private userService: UserService) {} }

Тут UserService буде створений тільки для цього компонента, і кожен новий екземпляр UserComponent отримає свій екземпляр сервісу.


Навіщо потрібен:

  • щоб ізолювати залежності між компонентами;
  • щоб кожен компонент міг мати свій незалежний стан;
  • для оптимізації і тестування - менше спільних даних.

Підсумок: Інжектор компонента - це локальний контейнер залежностей, який керує сервісами тільки для конкретного компонента і його нащадків.

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

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

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