Drzewo zależności

Angular ma własny framework, który zarządza wstrzykiwaniem zależności (ang. dependency injection).

Jego kluczowym elementem są tablice providers, które możemy umieścić w metadanych komponentów oraz modułów.

Tworzą one drzewiastą strukturę definiowaną poprzez nawigację oraz zagnieżdżenia komponentów.

Angular poszukując potrzebnej zależności przechodzi od miejsca, w którym jej zażądano w górę aż do momentu kiedy napotka pierwszą tablicę providers, która jej dostarcza.

Komponent a moduł

Istnieje pewna różnica pomiędzy dostarczaniem zależności w komponentach oraz modułach.

Te dostarczane w komponencie są tworzone bezpośrednio na jego poziomie.

Natomiast te dostarczane w module są dostarczane na najwyższym poziomie (root) i są dostępne w całej aplikacji.

Szczególną uwagę na to zachowanie należy zwrócić w przypadku modułów ładowanych leniwie (ang. lazy loading). Dostarczone w nich zależności są dostępne w innych modułach dopiero po ich załadowaniu, które może nigdy nie nastąpić.

Zalecaną praktyką dostarczania zależności dla całej aplikacji jest dostarczanie ich w AppModule.


Źródła

results matching ""

    No results matching ""