Що таке провайдер (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
Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.