Skip to main content

Що таке провайдер (Provider)?

Провайдер (Provider) - це інструкція для Angular, як створювати або де брати залежність, коли її запитують через DI.

Якщо просто: провайдер - це правило, яке каже інжектору:

«Якщо хтось попросить ось цей сервіс - дай йому ось такий об'єкт».


Приклад:

ts
import { Injectable } from '@angular/core'; @Injectable({ providedIn: 'root' }) export class UserService {}

Тут providedIn: 'root' - це і є провайдер. Він каже Angular: створи один екземпляр UserService у кореневому інжекторі.


Провайдер можна задати вручну:

ts
providers: [ { provide: UserService, useClass: UserService } ]

або, наприклад:

ts
providers: [ { provide: 'API_URL', useValue: 'https://api.example.com' } ]

Що робить провайдер:

  • каже, який токен (ключ) використовувати (UserService, 'API_URL' тощо);
  • пояснює, що повернути (useClass, useValue, useExisting, useFactory);
  • повідомляє, де реєструвати - у модулі, компоненті чи на рівні застосунку.

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

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

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

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