Angular: старт

Урок 03 · 11 хв

Сервіс і DI

HTTP і спільний стан не живуть у кожному компоненті. Їх кладуть у сервіс.

Сервіс — звичайний клас із @Injectable({ providedIn: "root" }). Angular створює один екземпляр і кладе його туди, куди попросиш у конструкторі. Компонент не робить new UserApi(): він пише constructor(private api: UserApi) і отримує вже готовий об'єкт.

Ін'єкція
AI

Можна спитати про це правило«Компонент малює, сервіс дістає дані»

  • providedIn: "root" — один на весь застосунок. Це нормальний старт.
  • HttpClient теж сервіс: його підключають через provideHttpClient() у bootstrap.
  • Підписку на Observable не забувай завершувати або використовуй async pipe у шаблоні.
AI

Можна спитати про цей пункт«Суть уроку»

Перевірка

Закріпи, поки не пішов далі

  1. 1. Чому не const api = new UserApi() у компоненті?

  2. 2. providedIn: "root" означає

  3. 3. Де тримати http.get списку учнів?