
Урок 03 · 11 хв
Сервіс і DI
HTTP і спільний стан не живуть у кожному компоненті. Їх кладуть у сервіс.
Сервіс — звичайний клас із @Injectable({ providedIn: "root" }). Angular створює один екземпляр і кладе його туди, куди попросиш у конструкторі. Компонент не робить new UserApi(): він пише constructor(private api: UserApi) і отримує вже готовий об'єкт.
providedIn: "root"— один на весь застосунок. Це нормальний старт.HttpClientтеж сервіс: його підключають черезprovideHttpClient()у bootstrap.- Підписку на
Observableне забувай завершувати або використовуйasyncpipe у шаблоні.
Перевірка
Закріпи, поки не пішов далі
1. Чому не
const api = new UserApi()у компоненті?2.
providedIn: "root"означає3. Де тримати
http.getсписку учнів?