Spis treści
O autorach
O recenzentach
Wstęp
Rozdział 1. Budowa pierwszej aplikacji opartej na Angularze
Wymagania techniczne
Czym jest Angular?
Dlaczego warto wybrać Angular?
Wsparcie dla różnych platform
Narzędzia
Rozpoczęcie pracy w Angularze
Kto używa Angulara?
Ustawienie obszaru roboczego CLI Angulara
Wymagania
Instalacja CLI Angulara
Polecenia CLI
Tworzenie nowego projektu
Budowa aplikacji Angulara
Komponenty
Moduły
Składnia szablonu
Narzędzia edytora VS Code
Angular Language Service
Angular Snippets
Nx Console
Material Icon Theme
EditorConfig
Angular Evergreen
Rename Angular Component
Podsumowanie
Rozdział 2. Wprowadzenie do języka TypeScript
Historia języka TypeScript
Zalety języka TypeScript
Źródła wiedzy o języku TypeScript
Typy
Łańcuch znaków
Deklarowanie zmiennych
Liczba
Typ logiczny
Tablica
Typowanie dynamiczne bez typu
Niestandardowe typy
Typ wyliczeniowy
Pusty typ danych
Inferencja typów
Funkcje, lambdy i przepływ wykonawczy
Adnotacja typów w funkcjach
Parametry funkcji w języku TypeScript
Funkcje strzałkowe
Najczęściej stosowane funkcjonalności języka TypeScript
Parametr rozprzestrzeniania
Szablonowe łańcuchy znaków
Typy generyczne
Łańcuch wywołania
Wartości domyślne w przypadku wartości null
Klasy, interfejsy i dziedziczenie
Anatomia klasy
Parametry konstruktora z metodami dostępu
Interfejsy
Dziedziczenie klasy
Dekoratory
Dekorator klasy
Dekorator właściwości
Dekorator metody
Dekorator parametru
Zaawansowane typy
Typ Partial
Typ Record
Typ Union
Moduły
Podsumowanie
Rozdział 3. Organizowanie aplikacji w moduły
Wymagania techniczne
Wprowadzenie do modułów Angulara
Tworzenie naszego pierwszego modułu
Grupowanie funkcjonalności aplikacji w moduły
Dodawanie modułów w głównym module aplikacji
Eksponowanie modułów funkcyjnych
Porządkowanie modułów według typu
Wykorzystanie wbudowanych modułów Angulara
Podsumowanie
Rozdział 4. Komponenty interfejsu użytkownika
Wymagania techniczne
Tworzenie naszego pierwszego komponentu
Budowa komponentu Angulara
Rejestrowanie komponentów w modułach
Tworzenie odrębnych komponentów
Interakcja z szablonem
Wczytywanie szablonu komponentu
Wyświetlanie danych z klasy komponentu
Nadawanie stylu komponentowi
Odczytywanie danych z szablonu
Wzajemne porozumiewanie się komponentów
Przekazywanie danych za pomocą wiązania wejścia
Nasłuchiwanie wydarzeń za pomocą wiązania wyjścia
Lokalne zmienne odwołania w szablonach
Enkapsulacja stylów CSS
Wybór strategii wykrywania zmian
Wprowadzenie do cyklu życia komponentu
Inicjalizacja komponentu
Czyszczenie zasobów komponentu
Wykrywanie zmian wiązania wejścia
Dostęp do komponentów podrzędnych
Podsumowanie
Rozdział 5. Wzbogacanie aplikacji za pomocą potoków i dyrektyw
Wymagania techniczne
Wprowadzenie dyrektyw
Przekształcanie elementów za pomocą dyrektyw
Warunkowe wyświetlanie danych
Przechodzenie przez dane w pętli
Przełączanie się między szablonami
Manipulowanie danymi przy użyciu potoków
Tworzenie niestandardowych potoków
Sortowanie danych za pomocą potoków
Wykrywanie zmian z potokami
Tworzenie odrębnych potoków
Tworzenie niestandardowych dyrektyw
Wyświetlanie dynamicznych danych
Wiązanie właściwości i reagowanie na zdarzenia
Dynamiczne tworzenie komponentów
Dynamiczne przełączanie szablonów
Tworzenie odrębnych dyrektyw
Podsumowanie
Rozdział 6. Obsługa złożonych zadań z wykorzystaniem usług
Wymagania techniczne
Wprowadzenie do mechanizmu wstrzykiwania zależności
Tworzenie naszej pierwszej usługi Angulara
Zapewnianie zależności w całej aplikacji
Wstrzykiwanie usług w drzewie komponentów
Udostępnianie zależności przez komponenty
Główny wstrzykiwacz i wstrzykiwacze komponentów
Izolowanie komponentów z wieloma instancjami
Ograniczenie wstrzykiwania zależności w dół drzewa komponentów
Ograniczenie wyszukiwania dostawcy
Przysłanianie dostawców w hierarchii wstrzykiwania
Przysłanianie implementacji usługi
Warunkowe dostarczanie usługi
Przekształcanie obiektów w usługach Angulara
Podsumowanie
Rozdział 7. Uzyskanie reaktywności za pomocą klasy Observable i biblioteki RxJS
Wymagania techniczne
Strategie obsługi asynchronicznych informacji
Przejście od piekła wywołań zwrotnych do obietnic
Obiekty Observable w pigułce
Programowanie reaktywne w Angularze
Biblioteka RxJS
Tworzenie obiektów Observable
Przekształcanie obiektów Observable
Obiekty Observable wyższego rzędu
Subskrypcja obiektów Observable
Anulowanie subskrypcji obiektów Observable
Niszczenie komponentu
Zastosowanie potoku async
Podsumowanie
Rozdział 8. Komunikacja z usługami danych przez HTTP
Wymagania techniczne
Komunikacja przez HTTP
Wprowadzenie klienta HTTP wbudowanego w Angularze
Ustawienie API backendu
Obsługa danych CRUD w Angularze
Pobieranie danych przez HTTP
Zmiana danych przez HTTP
Uwierzytelnianie i nadawanie upoważnień z użyciem HTTP
Uwierzytelnianie za pomocą API backendu
Nadanie dostępów użytkownikowi
Upoważnienie żądań HTTP
Podsumowanie
Rozdział 9. Nawigowanie po aplikacji za pomocą routingu
Wymagania techniczne
Wprowadzenie do routera Angulara
Określenie podstawowej ścieżki
Importowanie modułu routera
Konfiguracja routera
Renderowanie komponentów
Tworzenie aplikacji w Angularze z użyciem routera
Budowa rusztowania aplikacji z wykorzystaniem routingu
Konfiguracja trasowania w naszej aplikacji
Tworzenie modułów routujących funkcjonalności
Obsługa nieznanych ścieżek
Ustawienie domyślnej ścieżki
Imperatywne przechodzenie do trasy
Upiększanie linków routera za pomocą stylów
Przekazywanie parametrów do tras
Budowa strony ze szczegółami z użyciem parametrów trasy
Ponowne użycie komponentów przy użyciu tras podrzędnych
Właściwość snapshot parametrów trasy
Filtrowanie danych za pomocą parametrów zapytania
Wzbogacenie nawigacji przy użyciu zaawansowanych funkcjonalności
Kontrola dostępu do ścieżki
Zapobieganie wyjściu z trasy
Wstępne pobieranie danych trasy
Trasy leniwie wczytywane
Podsumowanie
Rozdiał 10. Zbieranie danych użytkownika za pomocą formularzy
Wymagania techniczne
Dodawanie formularzy do aplikacji webowych
Wiązanie danych z formularzami opartymi na szablonie
Zastosowanie wzorców reaktywnych w formularzach Angulara
Praca z formularzami reaktywnymi
Informacja zwrotna o statusie formularza
Tworzenie hierarchii zagnieżdżonych formularzy
Tworzenie eleganckich formularzy reaktywnych
Reaktywna walidacja kontrolek
Budowa niestandardowej walidacji
Dynamiczne wprowadzanie zmian do formularzy
Przekształcanie danych formularza
Obserwacja i reagowanie na zmiany statusów
Podsumowanie
Rozdział 11. Wprowadzenie do biblioteki Angular Material
Wymagania techniczne
Wprowadzenie do Material Design
Wprowadzenie do Angular Material
Dodawanie biblioteki Angular Material do aplikacji
Dodawanie kontrolek z biblioteki Angular Material
Motywy komponentów biblioteki Angular Material
Dodawanie kluczowych kontrolek interfejsu użytkownika
Przyciski
Kontrolki formularza
Układ
Wyskakujące okna i modalne okna dialogowe
Tabele danych
Kontrolki integracji
Wprowadzenie do Angular CDK
Schowek
Przeciąganie
Podsumowanie
Rozdział 12. Testy jednostkowe aplikacji napisanej w Angularze
Wymagania techniczne
Dlaczego testy są potrzebne?
Anatomia testów jednostkowych
Wprowadzenie do testów jednostkowych
Testowanie komponentów
Testowanie komponentów z zależnościami
Testowanie komponentów z wejściem i wyjściem
Testowanie z jarzmem komponentu
Testowanie usług
Testowanie metody synchronicznej
Testowanie metody asynchronicznej
Testowanie usług z zależnościami
Testowanie potoków
Testowanie dyrektyw
Testowanie formularzy
Podsumowanie
Rozdział 13. Wprowadzanie aplikacji do środowiska produkcyjnego
Wymagania techniczne
Kompilacja aplikacji napisanej w Angularze
Kompilacja dla różnych środowisk
Kompilacja dla obiektu window
Ograniczenie rozmiaru pliku pakietu aplikacji
Optymalizacja pakietu aplikacji
Wdrażanie aplikacji napisanej w Angularze
Podsumowanie
Rozdział 14. Obsługa błędów i debugowanie aplikacji
Wymagania techniczne
Obsługa błędów aplikacji
Wyłapywanie błędów żądań HTTP
Tworzenie globalnej obsługi błędów
Odpowiedź na błąd 401 Unauthorized
Demistyfikacja błędów frameworku
Debugowanie aplikacji napisanych w Angularze
Użycie API konsoli przeglądarki
Dodawanie punktów przerwania w kodzie źródłowym
Stosowanie rozszerzenia Angular DevTools
Podsumowanie
Opinie
Na razie nie ma opinii o produkcie.