Angular_2_Programowanie_z_uzyciem_jezyka_TypeScript_ang2ty.pdf

(1320 KB) Pobierz
Tytuł oryginału: Angular 2 Development with TypeScript
Tłumaczenie: Lech Lachowski
Projekt okładki: Studio Gravite / Olsztyn
Obarek, Pokoński, Pazdrijowski, Zaprucki
ISBN: 978-83-283-3638-4
Original edition copyright © 2017 by Manning Publications Co.
All rights reserved.
Polish edition copyright © 2017 by HELION SA.
All rights reserved.
All rights reserved. No part of this book may be reproduced or transmitted in any form or by any means,
electronic or mechanical, including photocopying, recording or by any information storage retrieval system,
without permission from the Publisher.
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym powoduje
naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi ich
właścicieli.
Materiały graficzne na okładce zostały wykorzystane za zgodą Shutterstock Images LLC.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie, ani za związane
z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz Wydawnictwo HELION nie
ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe z wykorzystania informacji
zawartych w książce.
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Pliki z przykładami omawianymi w książce można znaleźć pod adresem:
ftp://ftp.helion.pl/przyklady/ang2ty.zip
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/ang2ty
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Przedmowa
Podziękowania
O książce
O autorach
9
13
15
19
Rozdział 1. Wprowadzenie do frameworku Angular 2
1.1.
Przegląd frameworków i bibliotek JavaScript
1.1.1. Frameworki w pełni funkcjonalne
1.1.2. Lekkie frameworki
1.1.3. Biblioteki
1.1.4. Czym jest node.js?
Ogólny przegląd frameworku AngularJS
Ogólny przegląd frameworku Angular
1.3.1. Uproszczenie kodu
1.3.2. Poprawa wydajności
Zestaw narzędzi programisty Angular
Jak działa Angular?
Wprowadzenie do przykładu aplikacji aukcji internetowych
Podsumowanie
21
22
22
22
23
24
25
28
28
34
35
39
40
41
1.2.
1.3.
1.4.
1.5.
1.6.
1.7.
Rozdział 2. Zaczynamy pracę z frameworkiem Angular
2.1.
Pierwsza aplikacja Angular
2.1.1. Witaj,
świecie
w języku TypeScript
2.1.2. Witaj,
świecie
w ES5
2.1.3. Witaj,
świecie
w ES6
2.1.4. Uruchamianie aplikacji
Elementy konstrukcyjne aplikacji Angular
2.2.1. Moduły
2.2.2. Komponenty
2.2.3. Dyrektywy
2.2.4. Krótkie wprowadzenie do wiązania danych
Uniwersalna
ładowarka
modułów SystemJS
2.3.1. Przegląd
ładowarek
modułów
2.3.2. Porównanie
ładowarek
modułów i znaczników <script>
2.3.3. Pierwsze kroki z SystemJS
Wybór menedżera pakietów
2.4.1. Porównanie npm i jspm
2.4.2. Rozpoczynanie projektu Angular za pomocą npm
43
44
44
47
49
50
51
51
52
54
55
55
56
56
57
62
64
65
2.2.
2.3.
2.4.
Kup książkę
Poleć książkę
4
2.5.
Spis treści
Część praktyczna: rozpoczynamy tworzenie aplikacji aukcji internetowych
2.5.1. Wstępna konfiguracja projektu
2.5.2. Tworzenie strony głównej
2.5.3. Uruchomienie aplikacji aukcji internetowych
Podsumowanie
70
71
74
82
82
2.6.
Rozdział 3. Nawigacja za pomocą routera Angular
3.1.
Podstawy routingu
3.1.1. Strategie lokalizacji
3.1.2. Bloki konstrukcyjne nawigacji po stronie klienta
3.1.3. Nawigacja do tras za pomocą metody navigate()
Przekazywanie danych do tras
3.2.1. Wyodrębnianie parametrów z ActivatedRoute
3.2.2. Przekazywanie do trasy statycznych danych
Trasy podrzędne
Strzeżenie tras
Tworzenie aplikacji SPA z wieloma outletami routera
Dzielenie aplikacji na moduły
Moduły leniwie
ładowane
Część praktyczna: dodanie nawigacji do aplikacji aukcji internetowych
3.8.1. Tworzenie komponentu ProductDetailComponent
3.8.2. Tworzenie komponentu HomeComponent i refaktoryzacja kodu
3.8.3. Uproszczenie komponentu ApplicationComponent
3.8.4. Dodawanie dyrektywy RouterLink do ProductItemComponent
3.8.5. Modyfikacja modułu głównego w celu dodania routingu
3.8.6. Uruchomienie aplikacji aukcji internetowych
Podsumowanie
85
86
87
89
94
97
97
100
101
107
112
115
117
119
120
121
122
123
125
126
126
3.2.
3.3.
3.4.
3.5.
3.6.
3.7.
3.8.
3.9.
Rozdział 4. Wstrzykiwanie zależności
4.1.
Wzorce Wstrzykiwanie Zależności i Odwrócenie Sterowania
4.1.1. Wzorzec Wstrzykiwanie Zależności
4.1.2. Wzorzec Odwrócenie Sterowania
4.1.3. Korzyści płynące ze wstrzykiwania zależności
Wstrzykiwacze i dostawcy
4.2.1. Jak zadeklarować dostawcę?
Przykładowa aplikacja ze wstrzykiwaniem zależności frameworku Angular
4.3.1. Wstrzyknięcie usługi produktowej
4.3.2. Wstrzyknięcie usługi Http
Ułatwione przełączanie wstrzykiwaczy
4.4.1. Deklarowanie dostawców za pomocą właściwości useFactory i useValue
4.4.2. Korzystanie z klasy OpaqueToken
Hierarchia wstrzykiwaczy
4.5.1. Właściwość viewProviders
Część praktyczna: użycie mechanizmu DI w aplikacji aukcji internetowych
4.6.1. Zmiana kodu w celu przekazania identyfikatora produktu jako parametru
4.6.2. Modyfikacja komponentu ProductDetailComponent
Podsumowanie
129
130
130
131
131
133
135
137
137
140
141
144
147
148
150
151
154
154
159
4.2.
4.3.
4.4.
4.5.
4.6.
4.7.
Kup książkę
Poleć książkę
Spis treści
5
Rozdział 5. Wiązania, strumienie obserwowalne i potoki
5.1.
Wiązanie danych
5.1.1. Wiązanie ze zdarzeniami
5.1.2. Wiązanie z właściwościami i atrybutami
5.1.3. Wiązanie w szablonach
5.1.4. Dwukierunkowe wiązanie danych
Programowanie reaktywne i strumienie obserwowalne
5.2.1. Czym są strumienie obserwowalne i obserwatory?
5.2.2. Obserwowalne strumienie zdarzeń
5.2.3. Anulowanie strumieni obserwowalnych
Potoki
5.3.1. Potoki niestandardowe
Część praktyczna: filtrowanie produktów w aplikacji aukcji internetowych
Podsumowanie
161
162
163
164
168
171
174
174
176
181
184
185
187
191
5.2.
5.3.
5.4.
5.5.
Rozdział 6. Implementowanie komunikacji komponentów
6.1.
Komunikacja między komponentami
6.1.1. Właściwości wejściowe i wyjściowe
6.1.2. Wzorzec Mediator
6.1.3. Zmiana szablonów podczas pracy za pomocą dyrektywy ngContent
Cykl
życia
komponentów
6.2.1. Korzystanie z metody ngOnChanges
Ogólny przegląd działania mechanizmu wykrywania zmian
Udostępnianie interfejsu API komponentu potomnego
Część praktyczna: dodanie funkcjonalności oceniania do aplikacji aukcji
internetowych
Podsumowanie
193
194
194
201
205
210
212
217
219
221
228
6.2.
6.3.
6.4.
6.5.
6.6.
Rozdział 7. Praca z formularzami
7.1.
Przegląd formularzy HTML
7.1.1. Standardowe funkcje przeglądarki
7.1.2. Interfejs Forms API frameworku Angular
Formularze oparte na szablonach
7.2.1. Przegląd dyrektyw
7.2.2. Wzbogacanie formularza HTML
Formularze reaktywne
7.3.1. Model formularza
7.3.2. Dyrektywy formularzy
7.3.3. Refaktoryzacja przykładowego formularza
7.3.4. Korzystanie z klasy FormBuilder
Walidacja formularza
7.4.1. Walidacja formularzy reaktywnych
Część praktyczna: dodanie walidacji do formularza wyszukiwania
7.5.1. Modyfikacja modułu głównego w celu dodania obsługi interfejsu Forms API
7.5.2. Dodawanie listy kategorii do SearchComponent
7.5.3. Tworzenie modelu formularza
231
232
232
234
235
236
238
240
240
241
245
246
247
247
256
257
257
258
7.2.
7.3.
7.4.
7.5.
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin