Angular

Services & Dependency Injection

Services, @Injectable, providedIn, dependency injection, hierarchical injectors, injection tokens, providers

20 pytań z rozmów·
Junior
1

Czym jest service w Angularze?

Odpowiedź

Service to klasa TypeScript ozdobiona @Injectable, która enkapsuluje logikę biznesową lub współdzielone dane. Service'y stosują zasadę separacji odpowiedzialności poprzez wyodrębnianie logiki wielokrotnego użytku z komponentów. Mogą być wstrzykiwane do innych klas dzięki systemowi dependency injection Angulara, co sprzyja modularności i testowalności kodu.

2

Który dekorator sprawia, że klasa jest injectable w Angularze?

Odpowiedź

Dekorator @Injectable jest obowiązkowy, aby klasa mogła być używana jako service w systemie dependency injection Angulara. Ten dekorator pozwala Angularowi generować metadane niezbędne do rozwiązania zależności service'u. Bez @Injectable kompilator TypeScript nie zachowałby informacji o typach niezbędnych do injection, powodując błędy w czasie wykonywania.

3

Jaka jest poprawna składnia do utworzenia podstawowego service'u?

Odpowiedź

Pełna składnia tworzenia Angular service obejmuje importowanie dekoratora Injectable z @angular/core, a następnie zastosowanie go do klasy z opcją providedIn. Ta nowoczesna konfiguracja automatycznie rejestruje service w głównym injectorze aplikacji. Opcja providedIn: 'root' jest najlepszą praktyką, ponieważ umożliwia tree-shaking i gwarantuje globalny singleton.

4

Co oznacza providedIn: 'root' w @Injectable?

5

Jak wstrzyknąć service do komponentu?

+17 pytań z rozmów

Opanuj Angular na następną rozmowę

Uzyskaj dostęp do wszystkich pytań, flashcards, testów technicznych, ćwiczeń code review i symulatorów rozmów.

Zacznij za darmo