Skip to main content

Що таке впровадження через конструктор (constructor injection)?

Впровадження через конструктор (constructor injection) - це спосіб, за яким Angular передає залежності прямо в конструктор класу.

Коли компонент або сервіс створюється, Angular дивиться, що вказано в його конструкторі, і автоматично підставляє потрібні об'єкти з інжектора.


Приклад:

ts
import { Component } from '@angular/core'; import { UserService } from './user.service'; @Component({ selector: 'app-profile', template: `{{ userService.userName }}` }) export class ProfileComponent { constructor(public userService: UserService) {} }

Тут:

  • Angular бачить, що в конструкторі потрібен UserService;
  • знаходить його в інжекторі;
  • створює (якщо потрібно) і підставляє в userService.

Переваги:

  • залежності видно одразу - за сигнатурою конструктора;
  • легко тестувати - можна підставити фейковий сервіс;
  • не потрібно вручну створювати об'єкти.

Підсумок: Constructor injection - це основний спосіб впровадження залежностей в Angular: усе, що потрібно класу, приходить автоматично через параметри конструктора.

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

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

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