Angular - resolver czyli ładowanie zanim jeszcze na dobre wlazłeś do komponentu
Stronę tą wyświetlono już: 7193 razy
Drogi czytelniku droga czytelniczko! Wybacz mi tę spouchwałość, ale jeżeli masz problem z załadowaniem danych do komponentu, który został podpięty do z góry określonej ścieżki routingu to mam rozwiązanie twoich bolączek! A rozwiązanie to zwie się resolver! Albowiem składa się tak wspaniale, że do danej ścieżki można podpiąć specjalną klasę resolvera, która załaduje wszystko co ci tylko przyjdzie do tej programistycznej głowy zanim w ogóle wejdziesz do komponentu. Czyniąc długą historię krótką oto przykład takiej klasy resolvera będącego tak naprawdę serwisem implementującym interfejs Resolve wymuszający obsługę jednej metody o jakże wymownej nazwie resolve:
W powyższym przykładzie wykorzystałem serwis opisywany na stronie Programowanie → Angular - podstawy → Angular - komunikacja z serwerem za pomocą HttpClient. Teraz konieczne jest podpięcie tej klasy do danej ścieżki. Oto przykład jak to uczyniłem w pliku app-routing.module.ts:
Ale to jeszcze nie koniec, teraz trzeba jeszcze w konstruktorze komponentu BooksListComponent obsłużyć ładowanie danych:
Po wejściu na tą ścieżkę oczom twym w konsoli przeglądarki powinny ukazać się następujące informacje:
Some extra data: {...} books: (2) [...] 0: Object { id: "1", title: "Rio Anaconda", author: "Wojciech Cejrowski" } 1: Object { id: "2", title: "Pan Tadeusz", author: "Adam Mickiewicz" } length: 2
Możliwe jest również użycie wielu resolverów w następujący sposób:
Tytuł:
Angular. Profesjonalne techniki programowania. Wydanie IV
Autor:
Adam Freeman
Tytuł:
Angular. Programowanie z użyciem języka TypeScript. Wydanie II
Autor:
Yakov Fain, Anton Moiseev
Tytuł:
ASP.NET Core, Angular i Bootstrap. Kompletny przybornik front-end developera
Autor:
Simone Chiaretta
Tytuł:
Angular instalacja i działanie. Nauka krok po kroku
Autor:
Shyam Seshadri
Tytuł:
Angular w akcji
Autor:
Jeremy Wilken
Tytuł:
ASP.NET Core 2 i Angular 5. Przewodnik dla Full-Stack Web Developera
Autor:
Valerio De Sanctis
Tytuł:
Angular. Profesjonalne techniki programowania. Wydanie II
Autor:
Adam Freeman
Tytuł:
Angular 2. Programowanie z użyciem języka TypeScript
Autor:
Yakov Fain, Anton Moiseev
Tytuł:
Angular 2. Tworzenie interaktywnych aplikacji internetowych
Autor:
Gion Kunz