Services & Dependency Injection
Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers
1Що таке service в Angular?
Що таке service в Angular?
Відповідь
Service — це TypeScript клас, декорований @Injectable, який інкапсулює бізнес-логіку або спільні дані. Services дотримуються принципу розділення відповідальності, виносячи багаторазову логіку з компонентів. Вони можуть бути ін'єктовані в інші класи через систему dependency injection Angular, що сприяє модульності та тестованості коду.
2Який декоратор робить клас injectable в Angular?
Який декоратор робить клас injectable в Angular?
Відповідь
Декоратор @Injectable є обов'язковим, щоб клас міг бути використаний як service у системі dependency injection Angular. Цей декоратор дозволяє Angular генерувати необхідні метадані для вирішення залежностей service'у. Без @Injectable компілятор TypeScript не зберігав би інформацію про типи, необхідну для injection, що спричиняло б помилки під час виконання.
3Яка правильна синтаксис для створення базового service'у?
Яка правильна синтаксис для створення базового service'у?
Відповідь
Повний синтаксис для створення Angular service включає імпорт декоратора Injectable з @angular/core, а потім його застосування до класу з опцією providedIn. Ця сучасна конфігурація автоматично реєструє service у кореневому injector'і застосунку. Опція providedIn: 'root' є найкращою практикою, оскільки вона дозволяє tree-shaking та гарантує глобальний singleton.
Що означає providedIn: 'root' в @Injectable?
Як ін'єктувати service у компонент?
+17 питань зі співбесід
Інші теми співбесід Angular
Основи TypeScript
TypeScript просунутий
Основи Angular
Компоненти та життєвий цикл
Організація модулів Angular
Angular CLI
Директиви та Pipe
Маршрутизація та навігація
Реактивні форми
Template-driven форми
Основи RxJS
Оператори RxJS
HttpClient і виклики API
Базове керування станом
Change Detection
Angular Signals
Standalone Components
Модульні тести в Angular
End-to-End тестування
Build і оптимізація
Основи NgRx
Просунутий NgRx
Архітектура Angular
Оптимізація продуктивності
Безпека та найкращі практики
Просунуті патерни RxJS
Angular Universal та SSR
Angular Micro-frontends
Опануй Angular для наступної співбесіди
Отримай доступ до всіх питань, flashcards, технічних тестів, вправ code review та симуляторів співбесід.
Почни безкоштовно