Angular: das umfassende Handbuch
Gespeichert in:
1. Verfasser: | |
---|---|
Format: | Buch |
Sprache: | German |
Veröffentlicht: |
Bonn
Rheinwerk Computing
2022
|
Ausgabe: | 3., aktualisierte Auflage |
Schlagworte: | |
Online-Zugang: | Inhaltstext Inhaltsverzeichnis |
Beschreibung: | Auf dem Umschlag: Angular-Webapplikationen professionell entwickeln, Einführung, Praxis, TypeScript und RxJS, Formulare, Routing, HTTP-Anbindung, Animationen, i18n, reaktive Anwendungen, Performance-Tuning. - Mit Codebeispielen zum Download |
Beschreibung: | 1016 Seiten Illustrationen |
ISBN: | 9783836282437 |
Internformat
MARC
LEADER | 00000nam a22000008c 4500 | ||
---|---|---|---|
001 | BV047860118 | ||
003 | DE-604 | ||
005 | 20220315 | ||
007 | t | ||
008 | 220302s2022 gw a||| |||| 00||| ger d | ||
015 | |a 21,N47 |2 dnb | ||
016 | 7 | |a 1246096129 |2 DE-101 | |
020 | |a 9783836282437 |c : EUR 39.90 (DE), EUR 41.10 (AT), CHF 49.90 (freier Preis) |9 978-3-8362-8243-7 | ||
024 | 3 | |a 9783836282437 | |
035 | |a (OCoLC)1304481504 | ||
035 | |a (DE-599)DNB1246096129 | ||
040 | |a DE-604 |b ger |e rda | ||
041 | 0 | |a ger | |
044 | |a gw |c XA-DE-NW | ||
049 | |a DE-20 |a DE-Aug4 |a DE-858 |a DE-19 |a DE-188 |a DE-706 |a DE-523 |a DE-573 | ||
084 | |a ST 250 |0 (DE-625)143626: |2 rvk | ||
084 | |8 1\p |a 004 |2 23sdnb | ||
100 | 1 | |a Höller, Christoph |e Verfasser |0 (DE-588)1124930485 |4 aut | |
245 | 1 | 0 | |a Angular |b das umfassende Handbuch |c Christoph Höller |
250 | |a 3., aktualisierte Auflage | ||
264 | 1 | |a Bonn |b Rheinwerk Computing |c 2022 | |
300 | |a 1016 Seiten |b Illustrationen | ||
336 | |b txt |2 rdacontent | ||
337 | |b n |2 rdamedia | ||
338 | |b nc |2 rdacarrier | ||
500 | |a Auf dem Umschlag: Angular-Webapplikationen professionell entwickeln, Einführung, Praxis, TypeScript und RxJS, Formulare, Routing, HTTP-Anbindung, Animationen, i18n, reaktive Anwendungen, Performance-Tuning. - Mit Codebeispielen zum Download | ||
650 | 0 | 7 | |a Angular |0 (DE-588)1183593139 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a AngularJS |0 (DE-588)105899333X |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a JavaScript |0 (DE-588)4420180-1 |2 gnd |9 rswk-swf |
650 | 0 | 7 | |a Framework |g Informatik |0 (DE-588)4464685-9 |2 gnd |9 rswk-swf |
653 | |a Angular-JS | ||
653 | |a Single-Page-Applikationen | ||
653 | |a ECMA-Script | ||
653 | |a Mobile Apps | ||
653 | |a Bootstrap | ||
653 | |a Grundlagen | ||
653 | |a Web-Entwicklung | ||
653 | |a Webentwicklung | ||
653 | |a HTTP-Anbindung | ||
653 | |a Node.js Test CLI | ||
653 | |a Web-Sockets | ||
653 | |a Dependency-Injection | ||
653 | |a RxJS | ||
653 | |a Router | ||
653 | |a Bücher lernen Kurse Tipps | ||
653 | |a Tests | ||
653 | |a Advanced | ||
689 | 0 | 0 | |a JavaScript |0 (DE-588)4420180-1 |D s |
689 | 0 | 1 | |a Framework |g Informatik |0 (DE-588)4464685-9 |D s |
689 | 0 | 2 | |a AngularJS |0 (DE-588)105899333X |D s |
689 | 0 | |5 DE-604 | |
689 | 1 | 0 | |a Angular |0 (DE-588)1183593139 |D s |
689 | 1 | |5 DE-604 | |
710 | 2 | |a Rheinwerk Verlag |0 (DE-588)1081738405 |4 pbl | |
776 | 0 | 8 | |i Erscheint auch als |n Online-Ausgabe |z 978-3-8362-8245-1 |
856 | 4 | 2 | |m X:MVB |q text/html |u http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&prov=M&dok_var=1&dok_ext=htm |3 Inhaltstext |
856 | 4 | 2 | |m DNB Datenaustausch |q application/pdf |u http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033242751&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |3 Inhaltsverzeichnis |
883 | 1 | |8 1\p |a vlb |d 20211119 |q DE-101 |u https://d-nb.info/provenance/plan#vlb | |
943 | 1 | |a oai:aleph.bib-bvb.de:BVB01-033242751 |
Datensatz im Suchindex
_version_ | 1805085273589022720 |
---|---|
adam_text |
AUF
EINEN
BLICK
1
ANGULAR-KICKSTART:
IHRE
ERSTE
ANGULAR-WEBAPPLIKATION
.
31
2
DAS
ANGULAR-CLI:
PROFESSIONELLE
PROJEKTORGANISATION
FUER
ANGULAR-PROJEKTE
.
61
3
KOMPONENTEN
UND
TEMPLATING:
DER
ANGULAR-SPRACHKERN
.
103
4
DIREKTIVEN:
KOMPONENTEN
OHNE
EIGENES
TEMPLATE
.
167
5
FORTGESCHRITTENE
KOMPONENTEN-KONZEPTE
.
185
6
STANDARDDIREKTIVEN
UND
PIPES:
WISSEN,
WAS
DAS
FRAMEWORK
AN
BORD
HAT
.
233
7
SERVICES
UND
DEPENDENCY-INJECTIOM
LOSE
KOPPLUNG
FUER
IHRE
BUSINESS-LOGIK
.
273
8
TEMPLATE-DRIVEN
FORMS:
EINFACHE
FORMULARE
AUF
BASIS
VON
HTML
.
307
9
REACTIVE
FORMS:
FORMULARE
DYNAMISCH
IN
DER
APPLIKATIONSLOGIK
DEFINIEREN
.
355
10
ROUTING:
NAVIGATION
INNERHALB
DER
ANWENDUNG
.
397
11
HTTP:
ANBINDUNG
VON
ANGULAR-APPLIKATIONEN
AN
EINEN
WEBSERVER
.
457
12
REAKTIVE
ARCHITEKTUREN
MIT
RXJS
.
489
13
KOMPONENTEN-UND
UNIT-TESTS:
DAS
ANGULAR-TESTING-FRAMEWORK
.
533
14
CYPRESS.-KOMFORTABLE
INTEGRATIONSTESTS
FUER
IHRE
ANWENDUNG
.
581
15
NGMODULE
UND
LAZY-LOADING:
MODULARISIERUNG
IHRER
ANWENDUNGEN
.
625
16
INTERNATIONALISIERUNG:
MEHRSPRACHIGE
ANGULAR-ANWENDUNGEN
IMPLEMENTIEREN
.
653
17
DAS
ANIMATION-FRAMEWORK:
ANGULAR-ANWENDUNGEN
ANIMIEREN
.
679
18
VOLLENDET
IN
FORM
UND
FUNKTION:
MATERIAL
DESIGN
UND
ANGULAR
MATERIAL
.
709
19
NPM-LIBRARYS
UND
MONO-REPOS:
FUNKTIONALITAET
IN
BIBLIOTHEKEN
AUSLAGERN
UND
PER
NPM
VEROEFFENTLICHEN
.
773
20
ANGULAR
ELEMENTS:
ANGULAR-KOMPONENTEN
ALS
WEBCOMPONENTS
BEREITSTELLEN
.
805
21
DOCKER:
DIE
ANWENDUNG
IM
CONTAINER
DEPLOYEN
.
829
22
SERVER-SIDE
RENDERING:
ANGULAR-ANWENDUNGEN
AUF
DEM
SERVER
RENDERN
.
851
INHALT
MATERIALIEN
ZUM
BUCH
.
25
VORWORT
.
27
1
ANGULAR-KICKSTART:
IHRE
ERSTE
ANGULAR-WEBAPPLIKATION
31
1.1
INSTALLATION
DER
BENOETIGTEN
SOFTWARE
.
31
1.1.1
NODE.JS
UND
NPM
.
31
1.1.2
VISUAL
STUDIO
CODE:
EINE
KOSTENLOSE
ENTWICKLUNGSUMGEBUNG
FUER
TYPESCRIPT
UND
ANGULAR
.
32
1.1.3
ALTERNATIVE:
WEBSTORM:
PERFEKTE
ANGULAR-UNTERSTUETZUNG
.
32
1.2
HALLO
ANGULAR
.
33
1.2.1
KOMPONENTEN
KONFIGURIEREN
.
36
1.2.2
DIE
KOMPONENTEN-KLASSE
.
38
1.2.3
DAS
APPLIKATIONSMODUL:
DAS
HAUPTMODUL
DER
ANWENDUNG
KONFIGURIEREN
.
39
1.2.4
MAIN.TS:
WAHL
DER
AUSFUEHRUNGSPLATTFORM
UND
START
DES
APPLIKATIONSMODULS
.
41
1.2.5
INDEX.HTML:
EINBINDEN
DER
BOOTSTRAP-KOMPONENTE
UND
START
DER
ANWENDUNG
.
41
1.3
DIE
BLOGGING-ANWENDUNG
.
43
1.3.1
START
DER
APPLIKATION
.
46
1.3.2
EINIGE
TIPPS
ZUR
FEHLERSUCHE
.
47
1.3.3
DIE
FORMULAR-KOMPONENTE:
DATEN
AUS
DER
VIEW
IN
DIE
KOMPONENTEN-KLASSE
UEBERTRAGEN
.
48
1.3.4
DAS
APPLIKATIONSMODELL
.
50
1.3.5
DARSTELLUNG
DER
LISTE
IN
DER
VIEW
.
53
1.3.6
MODULARISIERUNG
DER
ANWENDUNG
.
55
1.4
ZUSAMMENFASSUNG
UND
AUSBLICK
.
59
5
2
DAS
ANGULAR-CLI:
PROFESSIONELLE
PROJEKTORGANISATION
FUER
ANGULAR-PROJEKTE
6I
2.1
DAS
ANGULAR-CLI
INSTALLIEREN
.
62
2.2
NG
NEW:
EIN
CRUNDGERUEST
FUER
DIE
APPLIKATION
ERSTELLEN
.
62
2.2.1
KONFIGURATIONSOPTIONEN
FUER
DIE
PROJEKTGENERIERUNG
.
65
2.2.2
DAS
GENERIERTE
PROJEKT
IM
DETAIL
.
66
2.3
NG
SERVE:
DIE
ANWENDUNG
STARTEN
.
69
2.3.1
DIE
PROXY-KONFIGURATION
.
71
2.3.2
NG
SERVE-DEFAULT-OPTIONEN
UEBER
DIE
ANGULAR.JSON
EINSTELLEN
.
71
2.4
NPM
START:
START
UEBER
DIE
LOKALE
CLI-VERSION
.
73
2.5
NG
GENERATE:
KOMPONENTEN
GENERIEREN
.
74
2.5.1
KONFIGURATIONSOPTIONEN
BEI
DER
KOMPONENTENGENERIERUNG
.
76
2.5.2
WEITERE
GENERATOREN
.
77
2.6
NG
UPDATE:
ANGULAR
UND
WEITERE
ABHAENGIGKEITEN
AUF
DIE
NEUESTE
VERSION
UPDATEN
.
78
2.7
NG
LINT:
LINTING
UND
DER
ANGULAR-STYLE-GUIDE
.
80
2.8
KOMPONENTEN
UND
ENDE-ZU-ENDE-TESTS
AUSFUEHREN
.
82
2.8.1
NGTEST:
UNIT
UND
KOMPONENTEN-TESTS
AUSFUEHREN
.
82
2.8.2
NGE2E:
ENDE-ZU-ENDE-TESTS
AUSFUEHREN
.
84
2.9
CSS-PRAEPROZESSOREN
VERWENDEN
.
85
2.10
DRITTANBIETER-BIBLIOTHEKEN
EINBINDEN
.
86
2.10.1
BIBLIOTHEKEN
UEBER
DIE
INDEX.HTML
EINBINDEN
.
87
2.11
NG
ADD:
ANGULAR-SPEZIFISCHE
ABHAENGIGKEITEN
ZU
IHRER
ANWENDUNG
HINZUFUEGEN
.
87
2.12
NG
BUILD:
DEPLOYBARE
BUILDS
ERSTELLEN
.
90
2.12.1
KONFIGURATIONSOPTIONEN
FUER
DIE
AUSFUEHRUNG
DES
BUILDS
.
90
2.13
CONFIGURATIONS:
KONFIGURATION
UNTERSCHIEDLICHER
BUILD
UND
AUSFUEHRUNGSUMGEBUNGEN
.
92
2.13.1
FILE-REPLACEMENTS:
DATEIEN
ABHAENGIG
VON
DER
KONFIGURATION
AUSTAUSCHEN
.
93
2.13.2
EIGENE
BUILD-KONFIGURATIONEN
ANLEGEN
UND
AKTIVIEREN
.
94
2.13.3
KONFIGURATIONEN
FUER
DEN
NG
SERVE-BEFEHL
.
95
2.13.4
MEHRERE
KONFIGURATIONEN
FUER
IHREN
BUILD
AKTIVIEREN
.
97
2.14
NG
DEPLOY:
DIE
ANWENDUNG
IM
WEB
DEPLOYEN
.
97
2.14.1
PRAXISBEISPIEL:
DEPLOYMENT
AUF
GITHUB
PAGES
.
98
2.15
ZUSAMMENFASSUNG
UND
AUSBLICK
.
101
6
3
KOMPONENTEN
UND
TEMPLATING:
DER
ANGULAR-SPRACHKERN
103
3.1
ETWAS
THEORIE:
DER
ANGULAR-KOMPONENTEN-BAUM
.
103
3.2
SELEKTOREN:
VOM
DOM-ELEMENT
ZUR
ANGULAR-KOMPONENTE
.
107
3.2.1
TAG-SELEKTOREN
.
107
3.2.2
ATTRIBUT-SELEKTOREN
.
108
3.2.3
KLASSEN-SELEKTOREN
.
109
3.2.4
NOT()-SELEKTOREN
.
109
3.2.5
VERKNUEPFUNG
VON
SELEKTOREN
.
109
3.3
DIE
TEMPLATING-SYNTAX:
VERBINDUNG
ZWISCHEN
APPLIKATIONSLOGIK
UND
DARSTELLUNG
.
110
3.3.1
FALLBEISPIEL:
TIMEPICKER-KOMPONENTE
.
110
3.3.2
PROPERTY-BINDINGS
.
111
3.3.3
SONDERFAELLE:
ATTRIBUTE,
KLASSEN
UND
STYLES
SETZEN
.
114
3.3.4
INTERPOLATION:
DARSTELLUNG
VON
WERTEN
IM
VIEW
.
116
3.3.5
EVENT-BINDINGS
.
117
3.3.6
TWO-WAY-DATA-BINDINGS
MIT
NGMODEL
.
121
3.3.7
LOKALE
TEMPLATE-VARIABLEN
.
123
3.3.8
DIE
"-TEMPLATING-MICROSYNTAX
-
NEUE
DOM-ELEMENTE
DYNAMISCH
EINFUEGEN
.
124
3.3.9
TEMPLATING-SYNTAX-SPICKZETTEL
.
128
3.4
KOMPONENTEN-SCHNITTSTELLEN
DEFINIEREN:
VON
DER
EINZELNEN
KOMPONENTE
ZUR
VOLLSTAENDIGEN
APPLIKATION
.
129
3.4.1
INPUT-BINDINGS:
WERTE
IN
IHRE
KOMPONENTEN
HINEINREICHEN
.
129
3.4.2
OUTPUT-BINDINGS:
ANDERE
KOMPONENTEN
UEBER
DATENAENDERUNGEN
INFORMIEREN
.
134
3.4.3
TWO-WAY-DATA-BINDINGS:
SYNTAKTISCHER
ZUCKER
FUER
IHRE
KOMPONENTEN-SCHNITTSTELLE
.
136
3.4.4
NGONCHANGES:
AUF
AENDERUNGEN
VON
BINDINGS
REAGIEREN
.
137
3.4.5
LOKALE
KOMPONENTEN-VARIABLEN:
ZUGRIFF
AUF
DIE
API
IHRER
KIND-ELEMENTE
IM
HTML-CODE
.
139
3.5
VIEWCHILDREN:
ZUGRIFF
AUF
KIND-ELEMENTE
AUS
DER
KOMPONENTEN-KLASSE
.
140
3.6
CONTENT-INSERTION:
DYNAMISCHE
KOMPONENTEN-HIERARCHIEN
ERSTELLEN
.
143
3.6.1
EINFACHEN
HTML-CODE
INJIZIEREN
.
143
3.6.2
CONTENTCHILDREN:
ERZEUGUNG
VON
DYNAMISCHEN
KOMPONENTEN-BAEUMEN
AM
BEISPIEL
EINER
TABS-KOMPONENTE
.
149
3.7
DER
LEBENSZYKLUS
EINER
KOMPONENTE
.
153
3.7.1
DER
KONSTRUKTOR:
INSTANZIIERUNG
DER
KOMPONENTE
.
156
7
3.7.2
NGONLNIT:
INITIALISIERUNG
DER
EIGENEN
KOMPONENTE
.
157
3.7.3
NGONCHANGES:
AUF
AENDERUNGEN
REAGIEREN
.
158
3.7.4
NGAFTERCONTENTLNIT:
AUF
DIE
INITIALISIERUNG
VON
CONTENT-CHILDREN
REAGIEREN
.
159
3.7.5
NGAFTERVIEWINIT:
AUF
DIE
INITIALISIERUNG
VON
VIEWCHILDREN
REAGIEREN
.
159
3.7.6
NGONDESTROY:
AUFRAEUMARBEITEN
VORNEHMEN
.
160
3.7.7
NGAFTERCONTENTCHECKED,
NGAFTERVIEWCHECKED:
DEN
CHANGEDETECTION-MECHANISMUS
VERFOLGEN
.
161
3.7.8
NGDOCHECK:
DEN
CHANGEDETECTION-MECHANISMUS
VERAENDERN
.
162
3.8
ZUSAMMENFASSUNG
UND
AUSBLICK
.
164
4
DIREKTIVEN:
KOMPONENTEN
OHNE
EIGENES
TEMPLATE
167
4.1
ELEMENTREF
UND
RENDERER2:
MANIPULATION
VON
DOM-EIGENSCHAFTEN
EINES
ELEMENTS
.
168
4.1.1
DIE
RENDERER2-KLASSE:
DAS
NATIVE
ELEMENT
PLATTFORMUNABHAENGIG
MANIPULIEREN
.
171
4.2
HOSTBINDING
UND
HOSTLISTENER:
AUSLESEN
UND
VERAENDERN
VON
HOST-EIGENSCHAFTEN
UND
-EVENTS
.
172
4.3
ANWENDUNGSFALL:
EINBINDEN
VON
DRITTANBIETER-BIBLIOTHEKEN
.
174
4.3.1
TWO-WAY-DATA-BINDINGFUERDIE
SLIDER-KOMPONENTE
.
177
4.4
ANWENDUNGSFALL:
ACCORDION-DIREKTIVE
-
MEHRERE
KIND-KOMPONENTEN
STEUERN
.
178
4.5
EXPORTAS:
ZUGRIFF
AUF
DIE
SCHNITTSTELLE
EINER
DIREKTIVE
.
181
4.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
183
5
FORTGESCHRITTENE
KOMPONENTEN-KONZEPTE
ISS
5.1
STYLING
VON
ANGULAR-KOMPONENTEN
.
185
5.1.1
STYLES
AN
DER
KOMPONENTE
DEFINIEREN
.
186
5.1.2
VIEWENCAPSULATION
-
STRATEGIEN
ZUM
KAPSELN
IHRER
STYLES
.
187
5.2
TEMPLATEREF
UND
NGTEMPLATEOUTLET:
DYNAMISCHES
AUSTAUSCHEN
VON
KOMPONENTEN-TEMPLATES
.
196
5.2.1
NGFOR
MIT
ANGEPASSTEN
TEMPLATES
VERWENDEN
.
197
8
5.2.2
NGTEMPLATEOUTLET:
ZUSAETZLICHE
TEMPLATES
AN
DIE
KOMPONENTE
UEBERGEBEN
.
200
5.3
VIEWCONTAINERREF:
KOMPONENTEN
ZUR LAUFZEIT
HINZUFUEGEN
.
204
5.3.1
VIEWCONTAINERREF:
KOMPONENTEN
ZUR
LAUFZEIT
HINZUFUEGEN
.
204
5.3.2
COMPONENTREF:
INTERAKTION
MIT
DER
DYNAMISCH
ERZEUGTEN
KOMPONENTE
.
206
5.3.3
KOMPONENTEN
AN
EINER
BESTIMMTEN
STELLE
EINFUEGEN
.
207
5.3.4
KOMPONENTEN
INNERHALB
DES
VIEWCONTAINERS
VERSCHIEBEN
UND
LOESCHEN
.
207
5.3.5
CREATEEMBEDDEDVIEW:
EIGENE
STRUKTURELLE
DIREKTIVEN
IMPLEMENTIEREN
.
209
5.4
NGCOMPONENTOUTLET:
DYNAMISCH
ERZEUGTE
KOMPONENTEN
NOCH
EINFACHER
VERWALTEN
.
213
5.4.1
UEBERGABE
VON
DYNAMISCHEN
EIGENSCHAFTEN
AN
NGCOMPONENTOUTLET
.
214
5.5
CHANGEDETECTION-STRATEGIEN:
PERFORMANCE-BOOST
FUER
IHRE
APPLIKATION
.
217
5.5.1
DIE
BEISPIELAPPLIKATION
.
218
5.5.2
VERAENDERUNGEN
DES
APPLIKATIONSSTATUS
.
221
5.5.3
CHANGEDETECTION-STRATEGIEN:
OPTIMIERUNG
DES
STANDARDVERHALTENS
.
224
5.5.4
CHANGEDETECTORREF:
DIE
VOLLSTAENDIGE
KONTROLLE
UEBER
DEN
CHANGEDETECTOR
.
227
5.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
230
6
STANDARDDIREKTIVEN
UND
PIPES:
WISSEN,
WAS
DAS
FRAMEWORK
AN
BORD
HAT
233
6.1
STANDARDDIREKTIVEN
.
234
6.1.1
NGLF:
ELEMENTE
ABHAENGIG
VON
BEDINGUNGEN
DARSTELLEN
.
235
6.1.2
NGSWITCH:
SWITCH-CASE-VERHALTEN
IMPLEMENTIEREN
.
236
6.1.3
NGCLASS:
CSS-KLASSEN
DYNAMISCH
HINZUFUEGEN
UND
ENTFERNEN
.
237
6.1.4
NGSTYLE:
DAS
STYLE-ATTRIBUT
MANIPULIEREN
.
241
6.1.5
NGFOR:
KOMFORTABEL
UEBER
LISTEN
ITERIEREN
.
241
6.1.6
NGNONBINDABLE-AUSWERTUNG
DURCH
DIE
TEMPLATING-SYNTAX
VERHINDERN
.
246
6.2
PIPES:
WERTE
VOR DEM
RENDERN
TRANSFORMIEREN
.
247
6.2.1
UPPERCASEPIPE
UND
LOWERCASEPIPE:
STRINGS
TRANSFORMIEREN
.
247
6.2.2
DIE
SLICEPIPE:
NUR
BESTIMMTE
BEREICHE
VON
ARRAYS
UND
STRINGS
DARSTELLEN
.
248
9
6.2.3
DIE
JSON-PIPE:
JAVASCRIPT-OBJEKTE
ALS
STRING
AUSGEBEN
.
250
6.2.4
KEYVALUEPIPE:
UEBER
OBJEKTE
UND
MAPS
ITERIEREN
.
251
6.2.5
DECIMALPIPE:
ZAHLENWERTE
FORMATIEREN
.
253
6.2.6
KURZEXKURS:
LOKALISIERBARE
PIPES-WERTE
DER
AKTUELLEN
SPRACHE
ENTSPRECHEND
FORMATIEREN
.
254
6.2.7
DATEPIPE:
DATUMS
UND
ZEITWERTE
DARSTELLEN
.
255
6.2.8
PERCENT
UND
CURRENCYPIPE:
PROZENT
UND
WAEHRUNGSWERTE
FORMATIEREN
.
258
6.2.9
DIE
ASYNCPIPE:
AUF
ASYNCHRONE
WERTE
WARTEN
.
259
6.2.10
PIPES
IM
KOMPONENTEN-CODE
VERWENDEN
.
262
6.2.11
EIGENE
PIPES
IMPLEMENTIEREN
.
263
6.2.12
PUREVS.LMPURE
PIPES:
PIPE,
AENDERE
DICH!
.
267
6.3
ZUSAMMENFASSUNG
UND
AUSBLICK
.
270
7
SERVICES
UND
DEPENDENCY-INJECTION:
LOSE
KOPPLUNG
FUER
IHRE
BUSINESS-LOGIK
273
7.1
GRUNDLAGEN
DER
DEPENDENCY-INJECTION
.
274
7.2
SERVICES
IN
ANGULAR-APPLIKATIONEN
.
276
7.3
DAS
ANGULAR-DEPENDENCY-INJECTION-FRAMEWORK
.
TTI
7.3.1
INJECTOR
UND
PROVIDER-KONFIGURATION:
DAS
HERZ
DER
DI
.
278
7.3.2
VEREINFACHUNGEN
BEI
DER
PROVIDER-DEFINITION
.
280
7.3.3
DEN
@LNJECT-DECORATOR
VERMEIDEN
.
281
7.3.4
DER
@LNJECTABLE-DECORATOR:
TYPESCRIPT-OPTIMIERTE
INJEKTION
IN
SERVICES
.
282
7.3.5
MEMBER-INJECTION:
AUTOMATISCHE
ERZEUGUNG
VON
MEMBERVARIABLEN
.
283
7.4
WEITERE
PROVIDER-FORMEN
.
284
7.4.1
INJECTION-TOKENS:
KOLLISIONSFREIE
DEFINITION
VON
DL-SCHLUESSELN
.
286
7.5
DER
HIERARCHISCHE
INJECTOR-BAUM:
VOLLE
FLEXIBILITAET
BEI
DER
DEFINITION
IHRER
ABHAENGIGKEITEN
.
288
7.5.1
DER
INJECTOR-BAUM
.
288
7.5.2
REGISTRIERUNG
VON
GLOBALEN
SERVICES:
DER
USERSERVICE
.
290
7.5.3
REGISTRIEREN
VON
KOMPONENTEN-BEZOGENEN
SERVICES:
MUSICSEARCHSERVICE
UND
VIDEOSEARCHSERVICE
.
292
7.6
TREESHAKABLE-PROVIDERS:
DER
DL-MECHANIMUS
AUF
DEN
KOPF
GESTELLT
.
296
10
7.7
SICHTBARKEIT
UND
LOOKUP
VON
DEPENDENCYS
.
297
7.7.1
SICHTBARKEIT
VON
PROVIDERN
BESCHRAENKEN
.
298
7.7.2
DEN
LOOKUP
VON
ABHAENGIGKEITEN
BEEINFLUSSEN
.
300
7.8
ZUSAMMENFASSUNG
UND
AUSBLICK
.
304
8
TEMPLATE-DRIVEN
FORMS:
EINFACHE
FORMULARE
AUF
BASIS
VON
HTML
307
8.1
GRUNDLAGEN
ZU
FORMULAREN:
TEMPLATE-DRIVEN
ODER
REAKTIV?
.
308
8.2
DAS
ERSTE
FORMULAR:
UEBERSICHT
UEBER
DIE
FORMS-API
.
309
8.2.1
EINBINDEN
DES
FORMULAR-MODULS
.
309
8.2.2
IMPLEMENTIERUNG
DES
ERSTEN
FORMULAR-PROTOTYPS
.
310
8.2.3
NGMODEL,
NGFORM,
FORMCONTROL
UND
FORMGROUP:
DIE
WICHTIGSTEN
BESTANDTEILE
DER
FORMS-API
.
314
8.3
NGMODEL
IM
DETAIL:
TWO-WAY-DATA-BINDING
ODER
NICHT?
.
315
8.3.1
ONE-WAY-BINDING
MIT
NGMODEL
.
315
8.4
KURZEXKURS:
VERWENDUNG
VON
INTERFACES
FUER
DIE
DEFINITION
DES
APPLIKATIONSMODELLS
.
319
8.5
WEITERE
EINGABEELEMENTE
.
322
8.5.1
AUSWAHLLISTEN
.
322
8.5.2
CHECKBOXEN
.
327
8.5.3
RADIO-BUTTONS
.
327
8.6
VERSCHACHTELTE
EIGENSCHAFTEN
DEFINIEREN
.
328
8.6.1
VERSCHACHTELTE
EIGENSCHAFTEN
MIT
NGMODELGROUP
.
328
8.7
VALIDIERUNGEN
.
330
8.7.1
VOM
FRAMEWORK
MITGELIEFERTE
VALIDIERUNGSREGELN
.
330
8.7.2
VALIDIERUNGEN
IM
FORMULAR
DARSTELLEN
.
331
8.7.3
IMPLEMENTIERUNG
EINER
GENERISCHEN
SHOWERROR-KOMPONENTE
.
334
8.7.4
EIGENE
VALIDIERUNGSREGELN
DEFINIEREN
.
338
8.7.5
ASYNCHRONE
VALIDIERUNGEN
.
341
8.7.6
FELDUEBERGREIFENDE
VALIDIERUNGEN
.
345
8.8
IMPLEMENTIERUNG
DER
TAGS-LISTE:
WIEDERHOLBARE
STRUKTUREN
MIT
TEMPLATE-DRIVEN
FORMS
.
347
8.9
UPDATEON:
STEUERN,
WANN
AENDERUNGEN
UEBERNOMMEN
WERDEN
.
351
8.10
ZUSAMMENFASSUNG
UND
AUSBLICK
.
352
11
9
REACTIVE
FORMS:
FORMULARE
DYNAMISCH
IN
DER
APPLIKATIONSLOGIK
DEFINIEREN
355
9.1
AKTIVIERUNG
VON
REACTIVE
FORMS
FUER
IHRE
APPLIKATION
.
356
9.2
DAS
TASK-FORMULAR
IM
REAKTIVEN
ANSATZ
.
356
9.2.1
DEFINITION
DES
FORMULARS
IM
TYPESCRIPT-CODE
.
357
9.2.2
VERKNUEPFUNG
DES
FORMULARS
MIT
DEM
HTML-CODE
.
358
9.2.3
FORMARRAY
IM
DETAIL:
WIEDERHOLBARE
STRUKTUREN
DEFINIEREN
.
360
9.2.4
VERBINDUNG
DES
FORMULARS
MIT
DEM
APPLIKATIONSMODELL
.
364
9.2.5
DER
FORMBUILDER:
KOMFORTABLE
DEFINITION
VON
FORMULAREN
.
368
9.2.6
VALIDIERUNGEN
VON
REACTIVE
FORMS
.
369
9.2.7
UPDATEON
IN
REACTIVE
FORMS
.
376
9.3
FORMULARE
UND
KONTROLLELEMENTE
AUF
AENDERUNGEN
UEBERWACHEN
.
377
9.4
FALLBEISPIEL:
UMFRAGEBOGEN
-
FORMULARE
KOMPLETT
DYNAMISCH
DEFINIEREN
.
378
9.5
CONTROLVALUEACCESSOR:
EIGENE
EINGABEELEMENTE
FUER
DIE
FORMS-API
IMPLEMENTIEREN
.
385
9.5.1
DAS
NEUE
EINGABEELEMENT
BEI
DER
FORMS-API
REGISTRIEREN
.
387
9.5.2
WRITEVALUE
UND
REGISTERONCHANGE:
WERTE
VON
DER
FORMS-API
EMPFANGEN
UND
AN
DIE
FORM-API
PROPAGIEREN
.
387
9.5.3
VERWENDUNG
DES
NEUEN
EINGABEELEMENTS
IN
FORMULAREN
.
388
9.5.4
REGISTERONTOUCHED:
DEN
TOUCHED-STATUS
NACH
AUSSEN
PROPAGIEREN
.
391
9.5.5
SETDISABLEDSTATE:
DEN
DISABLED-STATUS
IHRES
EINGABEELEMENTS
VERWALTEN
.
393
9.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
394
10
ROUTING:
NAVIGATION
INNERHALB
DER
ANWENDUNG
397
10.1
PROJECT-MANAGER:
DIE
BEISPIELANWENDUNG
.
398
10.2
DIE
ERSTE
ROUTENKONFIGURATION:
DAS
ROUTING-FRAMEWORK
EINRICHTEN
.
399
10.2.1
ROUTEROUTLET:
FESTLEGEN,
WO
DER
INHALT
VON
ROUTEN
DARGESTELLT
WERDEN
SOLL
.
402
10.3
LOCATION-STRATEGIEN:
SCHOENE
URLS
VS.
ROUTING
OHNE
SERVER-KONFIGURATION
.
404
10.3.1
PATHLOCATION-STRATEGIE:
SCHOENE
URLS
.
404
10.3.2
HASHLOCATION-STRATEGIE:
ROUTING
OHNE
AUFWENDIGE
KONFIGURATION
.
406
12
10.4
CHILDROUTES:
VERSCHACHTELTE
ROUTENKONFIGURATIONEN
ERSTELLEN
.
407
10.4.1
COMPONENTLESS
ROUTES:
ROUTENDEFINITIONEN
OHNE
EIGENE
KOMPONENTE
.
410
10.4.2
RELATIVE
LINKS
.
412
10.5
ROUTERLINKACTIVE:
STYLING
DES
AKTIVEN
LINKS
.
413
10.5.1
ROUTERLINKACTIVEOPTIONS:
EXAKT
ODER
NICHT?
.
414
10.5.2
ISACTIVECHANGE:
AUF
DAS
AKTIVIEREN
EINES
LINKS
REAGIEREN
.
415
10.6
ROUTING-PARAMETER:
DYNAMISCHE
ADRESSZEILENPARAMETER
AUSWERTEN
.
416
10.6.1
PFAD-PARAMETER:
PFLICHT-PARAMETER
IN
ROUTEN
DEFINIEREN
.
416
10.6.2
SNAPSHOTS:
STATISCH
AUF
PARAMETERWERTE
ZUGREIFEN
.
419
10.6.3
MATRIX-PARAMETER:
OPTIONALE
PARAMETER
.
420
10.6.4
QUERY-PARAMETER:
OPTIONALE
PARAMETER
UNABHAENGIG
VOM
SEGMENT
DEFINIEREN
.
424
10.6.5
FRAGMENTBEZEICHNER
.
425
10.7
AUS
DER
ANWENDUNGSLOGIK
HERAUS
NAVIGIEREN
.
427
10.7.1
DIE
NAVIGATE-METHODE:
NAVIGATION
AUF
BASIS
DER
ROUTING-DSL
.
427
10.7.2
NAVIGATEBYLLRL:
NAVIGATION
AUF
BASIS
VON
URLS
.
429
10.8
ROUTING-GUARDS:
ROUTEN
ABSICHERN
UND
DIE
NAVIGATION
GENERISCH
BEEINFLUSSEN
.
429
10.8.1
CANACTIVATE:
ROUTEN
ABSICHERN
.
430
10.8.2
CANACTIVATECHILD
.
433
10.8.3
CANDEACTIVATE:
DAS
VERLASSEN
EINER
ROUTE
VERHINDERN
.
434
10.9
REDIRECTS
UND
WILDCARD-URLS
.
436
10.9.1
ABSOLUTE
REDIRECTS
.
436
10.9.2
RELATIVE
REDIRECTS
.
437
10.9.3
WILDCARD-URLS:
PLATZHALTER-ROUTEN
DEFINIEREN
.
438
10.10
DATA:
STATISCHE
METADATEN
AN
ROUTEN
HINTERLEGEN
.
439
10.11
RESOLVE:
DYNAMISCHE
DATEN
UEBER
DEN
ROUTER
INJIZIEREN
.
439
10.11.1
VERWENDUNG
EINER
RESOLVE-FUNKTION
ANSTELLE
EINER
RESOLVER-KLASSE
.
441
10.12
DER
TITLE-SERVICE:
DEN
SEITENTITEL
VERAENDERN
.
442
10.13
ROUTER-TREE
UND
ROUTER-EVENTS:
GENERISCH
AUF
SEITENWECHSEL
REAGIEREN
444
10.13.1
DER
EVENTS-STREAM:
BEI
SEITENWECHSELN
INFORMIERT
WERDEN
.
444
10.13.2
DER
ROUTER-TREE:
DEN
AKTUELLEN
ROUTER-BAUM
DURCHLAUFEN
.
445
10.14
LOCATION:
DIREKTE
INTERAKTION
MIT
DER
ADRESSZEILE
DES
BROWSERS
.
447
10.15
MEHRERE
ROUTEROUTLETS:
MAXIMALE
FLEXIBILITAET
BEIM
ROUTING
.
449
10.15.1
ZUSAETZLICHE
OUTLETS:
EIN
CHAT-FENSTER
EINBLENDEN
.
449
10.15.2
KOMPLEXERE
OUTLET-KONFIGURATIONEN:
EINE
TASK-SCHNELLANSICHT
.
452
10.16
ZUSAMMENFASSUNG
UND
AUSBLICK
.
455
13
11
HTTP:
ANBINDUNG
VON
ANGULAR-APPLIKATIONEN
AN
EINEN
WEBSERVER
457
11.1
DIE
SERVER-APPLIKATION
.
458
11.1.1
DIEJSON-SERVER-BIBLIOTHEK
.
459
11.2
DAS
ANGULAR-HTTP-MODUL
VERWENDEN
.
462
11.3
DER
ERSTE
GET-REQUEST:
GRUNDLAGEN
ZUR
HTTP-API
.
462
11.3.1
AUF
FEHLER
REAGIEREN
.
464
11.4
ASYNCHRONE
SERVICE-SCHNITTSTELLEN
MODELLIEREN:
ANPASSUNG
DES
TASKSERVICE
.
466
11.4.1
OBSERVABLES
STATT
CALLBACKS:
DATEN
REAKTIV
VERWALTEN
.
466
11.5
DIE
ASYNCPIPE:
NOCH
ELEGANTER
MIT
ASYNCHRONEN
DATEN
ARBEITEN
.
468
11.6
HTTPPARAMS:
ELEGANT
DYNAMISCHE
SUCHEN
DEFINIEREN
.
469
11.7
DIE
OBSERVE-EIGENSCHAFT:
DIE
KOMPLETTE
HTTPRESPONSE
AUSWERTEN
.
472
11.8
POST,
PUT,
DELETE,
PATCH
UND
HEAD:
VERWENDUNG
DER
WEITEREN
HTTP-METHODEN
.
474
11.8.1
HTTP-POST:
NEUE
TASKS
ANLEGEN
.
474
11.8.2
HTTP-PUT:
BESTEHENDE
TASKS
EDITIEREN
.
476
11.8.3
HTTP-DELETE:
TASKS
LOESCHEN
.
477
11.8.4
GENERISCHE
ANFRAGEN:
DIE
REQUEST-METHODE
.
478
11.8.5
HTTP-PATCH:
TASKS
PARTIELL
VERAENDERN
.
480
11.8.6
HTTP-HEAD:
DER
KLEINE
BRUDER
VON
GET
.
481
11.9
JSONP
.
482
11.9.1
DIEJSONP-METHODE
.
484
11.10
ZUSAMMENFASSUNG
UND
AUSBLICK
.
486
12
REAKTIVE
ARCHITEKTUREN
MIT
RXJS
489
12.1
KURZEINFUEHRUNG
IN
RXJS
.
490
12.1.1
OBSERVABLES
UND
OBSERVER-FUNCTIONS:
DIE
KERNELEMENTE
DER
REAKTIVEN
PROGRAMMIERUNG
.
490
12.1.2
SUBSCRIPTIONS,
DER
TAKEUNTIL-OPERATOR
UND
DISPOSING-FUNCTIONS:
OBSERVABLES
SAUBER
BEENDEN
.
492
12.1.3
SUBJECTS:
MULTICAST-FUNKTIONALITAET
AUF
BASIS
VON
RXJS
.
496
12.2
IMPLEMENTIERUNG
EINER
TYPEAHEAD-SUCHE
.
498
12.2.1
MERGEMAP:
VERSCHACHTELTE
OBSERVABLES
VERBINDEN
.
502
14
12.2.2
SWITCHMAP:
NUR
DIE
AKTUELLSTEN
ERGEBNISSE
VERARBEITEN
.
503
12.2.3
MERGE:
MEHRERE
STREAMS
VEREINEN
.
504
12.3
REAKTIVE
DATENARCHITEKTUREN
IN
ANGULAR-APPLIKATIONEN
.
507
12.3.1
SHARED
SERVICES:
DER
ERSTE
SCHRITT
IN
DIE
RICHTIGE
RICHTUNG
.
509
12.3.2
DIE
NEUE
DATENARCHITEKTUR:
PUSH
STATT
PULL
.
511
12.3.3
UMSETZUNG
DES
NEUEN
KONZEPTS
IN
ANGULAR
.
514
12.3.4
ANBINDUNG
DER
TASKLISTCOMPONENT
AN
DEN
STORE
.
521
12.3.5
DER
IN
BEARBEITUNG-ZAEHLER
.
523
12.4
ANBINDUNG
VON
WEBSOCKETS
ZUR
IMPLEMENTIERUNG
EINER
ECHTZEITANWENDUNG
.
524
12.4.1
DER
WEBSOCKET-SERVER
.
525
12.4.2
INTEGRATION
VON
SOCKET.LO
IN
DIE
ANWENDUNG
.
527
12.4.3
VERWENDUNG
VON
SOCKET.LO
IM
TASKSERVICE
.
528
12.5
CHANGEDETECTIONSTRATEGY.ONPUSH:
PERFORMANCE-SCHUB
DURCH
DIE
REAKTIVE
ARCHITEKTUR
.
530
12.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
531
13
KOMPONENTEN
UND
UNIT-TESTS:
DAS
ANGULAR-TESTING-FRAMEWORK
533
13.1
KARMA
UND
JASMINE:
GRUNDLAGEN
ZU
UNIT
UND
KOMPONENTEN-TESTS
IN
ANGULAR-ANWENDUNGEN
.
534
13.1.1
KARMA
EINRICHTEN
.
534
13.2
DER
ERSTE
UNIT-TEST:
EINFACHE
KLASSEN
UND
FUNKTIONEN
TESTEN
.
537
13.2.1
DIE
TESTAUSFUEHRUNG
STARTEN
.
540
13.2.2
NUR
BESTIMMTE
TESTS
AUSFUEHREN
.
541
13.3
ISOLIERTE
KOMPONENTEN
TESTEN:
GRUNDLAGEN
ZU
KOMPONENTEN-TESTS
MIT
DEM
ANGULAR-TESTING-FRAMEWORK
.
543
13.3.1
DIE
ZU
TESTENDE
KOMPONENTE
.
543
13.3.2
TESTBED,
COMPONENTFIXTURE
&
CO:
KONFIGURATION
DES
TESTMODULS
UND
ERZEUGUNG
VON
TEST-KOMPONENTEN
.
545
13.3.3
NATIVEELEMENT
UND
DETECTCHANGE:
MIT
DEM
DOM-BAUM
DER
KOMPONENTE
INTERAGIEREN
.
547
13.4
MOCKS
UND
SPIES:
KOMPONENTEN
MIT
ABHAENGIGKEITEN
TESTEN
.
549
13.4.1
EIGENE
MOCKS
FUER
DIE
SIMULATION
VON
SERVICES
BEREITSTELLEN
.
550
13.4.2
TESTBED.INJECT:
ZUGRIFF
AUF
DIE
IM
TESTKONTEXTVORHANDENEN
SERVICES
.
552
15
13.4.3
SPYON:
DAS
VERHALTEN
VON
FUNKTIONEN
MANIPULIEREN
.
553
13.4.4
SPIES:
AUSGEHENDE
AUFRUFE
UEBERWACHEN,
MANIPULIEREN
UND
AUSWERTEN
.
553
13.5
SERVICES
UND
HTTP-BACKENDS
TESTEN
.
555
13.6
FORMULARE
TESTEN
.
560
13.6.1
REACTIVE
FORMS:
FORMULARE
DIREKT
UEBER
DIE
API
TESTEN
.
560
13.6.2
TEMPLATE-DRIVEN
FORMS:
GENERIERTE
FORMULARE
UEBER
DIE
FORMS-API
TESTEN
.
562
13.6.3
FORMULARE
UEBER
DIE
OBERFLAECHE
TESTEN
.
564
13.7
DIREKTIVEN
UND
NGCONTENT-KOMPONENTEN
TESTEN
.
566
13.7.1
OVERRIDECOMPONENT
UND
COMPILECOMPONENTS:
KOMPONENTEN-TEMPLATES
FUER
DEN
TEST
UEBERSCHREIBEN
.
568
13.8
WAITFORASYNC
UND
FAKEASYNC:
MEHR
KONTROLLE
UEBER
ASYNCHRONE
TESTS
.
569
13.8.1
WAITFORASYNC:
AUTOMATISCH
AUF
ASYNCHRONE
AUFRUFE
WARTEN
.
569
13.8.2
FAKEASYNC:
KOMPLEXERE
ASYNCHRONE
SZENARIEN
STEUERN
.
571
13.9
ROUTING-FUNKTIONALITAET
TESTEN
.
572
13.9.1
MANIPULATION
VON
ROUTER-DIENSTEN
IM
KOMPONENTEN-TEST
.
573
13.9.2
AUSFUEHRUNG
ECHTER
NAVIGATIONSVORGAENGE
.
574
13.10
DIE
TESTS
AUF
IHREM
BUILD-SERVER
AUSFUEHREN
.
576
13.11
ZUSAMMENFASSUNG
UND
AUSBLICK
.
577
14
CYPRESS:
KOMFORTABLE
INTEGRATIONSTESTS
FUER
IHRE
ANWENDUNG
SSI
14.1
CYPRESS
ZUM
PROJEKT
HINZUFUEGEN
UND
AUSFUEHREN
.
582
14.2
CYPRESS
LOKAL
UND
AUF
IHREM
BUILD-SERVER
AUSFUEHREN
.
583
14.2.1
DER
INTERAKTIVE
MODUS:
SEHEN,
WAS
PASSIERT
.
583
14.2.2
DER
HEADLESS-MODUS:
PERFEKTE
INTEGRATION
IN
IHR
BUILD-SYSTEM
.
586
14.3
CYPRESS
KONFIGURIEREN
.
587
14.3.1
MEHRERE
KONFIGURATIONSDATEIEN
VERWENDEN
.
590
14.3.2
UEBERSCHREIBEN
VON
KONFIGURATIONSOPTIONEN
UEBER
COMMANDLINE-PARAMETER
.
590
14.4
CYPRESS-CRUNDLAGEN:
IHRE
ERSTEN
EIGENEN
CYPRESS-TESTS
.
590
14.4.1
TEST-STRUKTUR
.
591
14.4.2
ERWARTUNGEN
(ASSERTIONS)
.
592
14.4.3
CYPRESS-KOMMANDOS,
DAS
CHAINABLE-INTERFACE
UND
DAS
GLOBALE
CY-OBJEKT
.
592
16
14.5
SELEKTOREN,
INTERAKTION
MIT
ELEMENTEN
UND
WEITERE
ASSERTION-TYPEN:
DEN
TASKS-BEREICH
TESTEN
.
594
14.5.1
CY.GET
UND
CY.ITS:
AUF
DOM-ELEMENTE
UND
DEREN
EIGENSCHAFTEN
ZUGREIFEN
.
594
14.5.2
TYPE
UND
CLICK:
INTERAKTION
MIT
DOM-ELEMENTEN
.
596
14.5.3
TASKS
ERZEUGEN:
TEST
DER
FORMULARFUNKTIONALITAET
UND
DES
SEITENWECHELS
.
598
14.6
CY.ON:
AUF
BROWSER-EVENTS
REAGIEREN
.
601
14.7
INTERCEPT:
REST-REQUESTS
UNTERSUCHEN
UND
MANIPULIEREN
.
602
14.7.1
MANIPULATION
VON
ANTWORTEN
MITHILFE
VON
FIXTURE-DATEIEN
.
603
14.7.2
AUF
REST-ANFRAGEN
WARTEN:
EINE
BESSERE
LOESUNG
FUER
WAIT()
.
604
14.7.3
REST-ANFRAGEN
UND
-ANTWORTEN
UNTERSUCHEN
.
605
14.8
CUSTOM
COMMANDS:
DEN
FUNKTIONSUMFANG
VON
CYPRESS
MIT
EIGENEN
KOMMANDOS
DYNAMISCH
ERWEITERN
.
609
14.8.1
DEFINIEREN
VON
TYPESCRIPT-TYPINGS
FUER
IHRE
EIGENEN
KOMMANDOS
.
610
14.9
SCREENSHOTS
UND
VIDEO-RECORDINGS:
SEHEN,
WAS
SCHIEFLAEUFT
.
612
14.9.1
AUTOMATISCHE
UND
MANUELLE
SCREENSHOTS
IHRER
TESTS
.
612
14.9.2
VIDEO-RECORDINGS
IHRER
TESTAUSFUEHRUNG
.
614
14.10
DEBUGGING
VON
CYPRESS-TESTS
.
615
14.10.1
VERWENDUNG
DES
SCHLUESSELWORTS
DEBUGGER
.
615
14.10.2
VERWENDUNG
DES
DEBUG-KOMMANDOS
.
616
14.10.3
DIE
TESTAUSFUEHRUNG
SCHRITTWEISE
DURCHLAUFEN:
DAS
PAUSE-KOMMANDO
.
618
14.11
DIE
CYPRESS-BEISPIELE
ALS
DOKUMENTATION
NUTZEN
.
619
14.12
ZUSAMMENFASSUNG
UND
AUSBLICK
.
621
15
NGMODULE
UND
LAZY-LOADING:
MODULARISIERUNG
IHRER
ANWENDUNGEN
625
15.1
FEATURE-MODULE:
TEILBEREICHE
DER
APPLIKATION
KAPSELN
.
626
15.1.1
FEATURE-MODULE:
DEN
AUFGABENBEREICH
MODULARISIEREN
.
628
15.1.2
DAS
COMMON-MODUL:
IMPORT
VON
ANGULAR-STANDARDFUNKTIONALITAET
.
629
15.1.3
ROUTING
IN
FEATURE-MODULEN:
DIE
ROUTING-KONFIGURATION
MODULARISIEREN
.
629
15.1.4
ANPASSUNGEN
AM
APPROUTINGMODULE
UND
INTEGRATION
DES
FEATURE-MODULS
.
630
17
15.2
SHARED-MODULES:
GEMEINSAM
GENUTZTE
FUNKTIONALITAET
KAPSELN
.
634
15.2.1
BOILERPLATE-CODE
DURCH
SHARED-MODULE
VERMEIDEN
.
637
15.3
MODULE
PER
COMPONENT:
DAS
HOECHSTE
LEVEL
AN
MODULARISIERUNG
.
638
15.4
SERVICES
UND
MODULARISIERUNG
.
640
15.4.1
SERVICES
IN
FEATURE-MODULEN
REGISTRIEREN
.
641
15.4.2
STOLPERFALLEN
BEIM
BEREITSTELLEN
VON
SERVICES
UEBER
SHARED-MODULE
.
642
15.4.3
MODULEWITHPROVIDERS:
INDIVIDUALISIERTE
MODULE
JE
NACH
EINSATZORT
-
EIGENE
FORROOT
ODER
FORCHILD-MODULE
DEFINIEREN
.
643
15.5
LAZY-LOADING
VON
APPLIKATIONSBESTANDTEILEN
.
647
15.5.1
PRELOADING
VON
FEATURE-MODULEN:
DAS
BESTE
AUS
BEIDEN
WELTEN
.
650
15.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
651
16
INTERNATIONALISIERUNG:
MEHRSPRACHIGE
ANGULAR-ANWENDUNGEN
IMPLEMENTIEREN
653
16.1
EINRICHTUNG
DES
IL8N-FRAMEWORKS
.
654
16.1.1
ONE
BUILD
PER
LOCALE:
STRIKTE
TRENNUNG
DER
UNTERSCHIEDLICHEN
SPRACHVERSIONEN
.
655
16.1.2
DEN
BUILD
IM
ANGULAR-CLI
VORBEREITEN
.
656
16.1.3
DIE
DARZUSTELLENDE
SPRACHE
DYNAMISCH
ERMITTELN
.
658
16.1.4
SPRACHSPEZIFISCHE
BUILD-KONFIGURATIONEN
VERWALTEN
.
660
16.2
NG
EXTRACT-IL8N:
AUTOMATISCHE
GENERIERUNG
DER
MESSAGE-DATEI
.
662
16.3
EIGENE
UEBERSETZUNGSSCHLUESSEL
DEFINIEREN
.
664
16.4
DESCRIPTION
UND
MEANING:
METADATEN
FUER
UEBERSETZER
UEBERGEBEN
.
665
16.5
WEITERE
UEBERSETZUNGSTECHNIKEN
.
666
16.5.1
ATTRIBUTE
(UND
INPUT-BINDINGS)
UEBERSETZEN
.
666
16.5.2
MEHRERE
PARALLELE
KNOTEN
UEBERSETZEN
.
667
16.6
$LOCALIZE:
TEXTE
AUS
DEM
TYPESCRIPT-CODE
HERAUS
UEBERSETZEN
.
668
16.6.1
DEN
$LOCALIZE-SERVICE
MIT
PLATZHALTERN
VERWENDEN
.
669
16.7
PLURALISIERUNG
UND
GESCHLECHTSSPEZIFISCHE
TEXTE
.
670
16.7.1
PLURALISIERUNG:
TEXTE
ABHAENGIG
VOM
ZAHLENWERT
EINER
VARIABLEN
.
670
16.7.2
REALISIERUNGEN
UEBERSETZEN
.
673
16.7.3
H8NSELECTPIPE:
GESCHLECHTSSPEZIFISCHE
TEXTE
FESTLEGEN
.
675
16.8
ZUSAMMENFASSUNG
UND
AUSBLICK
.
677
18
17
DAS
ANIMATION-FRAMEWORK:
ANGULAR-ANWENDUNGEN
ANIMIEREN
679
17.1
DIE
ERSTE
ANIMATION:
GRUNDLAGEN
ZUM
ANIMATION-FRAMEWORK
.
680
17.1.1
BIDIREKTIONALE
TRANSITIONEN
.
684
17.2
VOID
UND
*:
SPEZIELLE
STATES
ZUM
HINZUFUEGEN
UND
ENTFERNEN
VON
DOM-ELEMENTEN
.
684
17.2.1
:ENTER
UND
:LEAVE:
SHORTCUTS
FUER
DAS
EINTRETEN
UND
VERLASSEN
DESDOM-BAUMS
.
686
17.3
ANIMATIONEN
IN
VERBINDUNG
MIT
AUTOMATISCH
BERECHNETEN
EIGENSCHAFTEN
.
687
17.4
ANIMATION-LIFECYDES:
AUF
DEN
START
UND
DAS
ENDE
VON
ANIMATIONEN
REAGIEREN
.
689
17.5
KEYFRAMES:
DEFINITION
VON
KOMPLEXEN,
MEHRSTUFIGEN
ANIMATIONEN
.
690
17.6
STYLING
VON
KOMPONENTEN,
DIE
IN
ANIMATIONEN
VERWENDET
WERDEN
.
691
17.7
GROUPS
UND
SEQUENCES:
MEHRERE
ANIMATIONEN
KOMBINIEREN
.
693
17.7.1
GROUP:
ANIMATIONSSCHRITTE
PARALLEL
AUSFUEHREN
.
693
17.7.2
SEQUENCE:
ANIMATIONSSCHRITTE
NACHEINANDER
AUSFUEHREN
.
694
17.7.3
KOMBINATION
VON
SEQUENCE
UND
GROUP
.
695
17.8
QUERYING:
KOMPLEXE
KOMPONENTEN
ANIMIEREN
.
696
17.8.1
SELEKTOREN
FUER
DIE
ANIMIERTEN
ELEMENTE
.
699
17.8.2
OPTIONALE
ANIMATIONSELEMENTE
DEFINIEREN
.
700
17.9
STAGGERING:
AUSGEFEILTE
LISTENANIMATIONEN
DEFINIEREN
.
700
17.10
ANIMATION
VON
ROUTING-VORGAENGEN
.
702
17.10.1
LIFECYCLE-HOOKS
FUER
ROUTING-ANIMATIONEN
.
705
17.11
ZUSAMMENFASSUNG
UND
AUSBLICK
.
707
18
VOLLENDET
IN
FORM
UND
FUNKTION:
MATERIAL
DESIGN
UND
ANGULAR
MATERIAL
709
18.1
MATERIAL
DESIGN
.
710
18.1.1
DIE
GRUNDIDEEN
IN
DER
WELT
VON
MATERIAL
DESIGN
.
711
18.1.2
GESTALTUNGSRASTER
VON
KOPF
BIS
FUSS
.
715
18.1.3
FARBEN:
WENIGER
IST
MANCHMAL
MEHR
.
722
18.1.4
AUFMERKSAMKEIT
ERZEUGEN,
OHNE
ZU
STOEREN:
ANIMATIONEN
.
724
19
18.2
ANGULAR
MATERIAL
.
725
18.2.1
BEISPIELPROJEKT:
BABYWATCH
.
726
18.2.2
ERSTELLEN
DES
PROJEKTS
UND
INSTALLATION
VON
ANGULAR
MATERIAL
.
727
18.2.3
EINEN
HEADER
FUER
BABYWATCH
ERSTELLEN
.
731
18.2.4
ANLEGEN
VON
MENUE
UND
HAUPTANZEIGEBEREICH
MITHILFE
VON
MAT-SIDENAV
.
734
18.2.5
MAT-NAV-LIST
UND
MAT-LIST-ITEM:
ERSTELLEN
VON
MENUEEINTRAEGEN
ZUR
NAVIGATION
.
740
18.2.6
BABYWATCHSERVICE:
DATEN
FUER
DIE
APPLIKATION
.
744
18.2.7
MAT-CARD:
DARSTELLUNG
DER
TIMELINE
IM
KARTEN-FORMAT
.
744
18.2.8
EIGENE
ICONS
MIT
MAT-ICON
VERWENDEN
.
747
18.2.9
FLOATING
ACTION
BUTTON:
DIE
PRIMAERE
AKTION
DER
APPLIKATION
AUSLOESEN
.
749
18.2.10
MATLNPUTMODULE
UND
KOLLEGEN:
DIE
EINGABEMASKE
FUER
NEUE
TIMELINE-EVENTS
ERSTELLEN
.
752
18.2.11
EINSTELLUNGEN:
AENDERN
DES
BABYNAMENS
UND
LOESCHEN
DER
TIMELINE
.
758
18.2.12
DER
MATDIALOG-SERVICE:
EINE
ABFRAGE
VOR
DEM
LOESCHEN
DER
TIMELINE
IMPLEMENTIEREN
.
763
18.2.13
EIGENES
THEME
ERSTELLEN
.
765
18.3
ZUSAMMENFASSUNG
.
771
19
NPM-LIBRARYS
UND
MONO-REPOS:
FUNKTIONALITAET
IN
BIBLIOTHEKEN
AUSLAGERN
UND
PER
NPM
VEROEFFENTLICHEN
773
19.1
DAS
ANGULAR-CLI-PROJEKT
EINRICHTEN
.
774
19.1.1
FINE-TUNING
DER
PROJEKTSTRUKTUR
.
775
19.2
DIE
GENERIERTE
BIBLIOTHEK
IM
DETAIL
.
777
19.2.1
PUBLIC-API.TS
UND
NG-PACKAGE.JSOM
STEUERUNGSDATEIEN
FUER
DIE
BIBLIOTHEKSERZEUGUNG
.
777
19.2.2
PACKAGE.JSON
UND
TSCONFIG.JSON:
STEUERN,
WIE
DIE
BIBLIOTHEK
VEROEFFENTLICHT
WIRD
.
778
19.3
DIE
BIBLIOTHEK
KOMPILIEREN
UND
IM
DEMO-PROJEKT
EINBINDEN
.
781
19.4
DER
MONO-REPO-ANSATZ
FUER
DIE
ENTWICKLUNG
VON
MEHREREN
WEBAPPLIKATIONEN
.
784
19.4.1
POTENZIELLE
NACHTEILE
VON
ECHTEN
NPM-LIBRARYS
.
785
19.4.2
DER
MONO-REPO-ANSATZ:
STAENDIGE
INTEGRATION
DER
AKTUELLEN
LIBRARY
IN
ALLEN
PROJEKTEN
.
785
19.4.3
NACHTEILE
VON
MONO-REPOS
(UND
LOESUNGSANSAETZE
DAFUER)
.
786
20
19.5
DIE
BIBLIOTHEK
UEBER NPM
VEROEFFENTLICHEN
.
788
19.5.1
EINE
EIGENE
NPM-REGISTRY
AUFSETZEN
.
788
19.5.2
DIE
EIGENE
REGISTRY
VERWENDEN
.
790
19.5.3
NPM
PUBLISH:
DIE
LIBRARY
VEROEFFENTLICHEN
.
791
19.5.4
DIE
LIBRARY
IN
EINEM
ANDEREN
PROJEKT
VERWENDEN
.
792
19.5.5
VERSIONIERUNG
VON
NPM-BIBLIOTHEKEN:
EINFUEHRUNG
IN
DAS
SEMANTIC
VERSIONING
.
793
19.6
BEST
PRACTICES
FUER
DIE
IMPLEMENTIERUNG
VON
STYLEBAREN
KOMPONENTEN
.
794
19.6.1
LOESUNG
1:
CSS-VARIABLEN
.
796
19.6.2
LOESUNG
2:
BEM
UND
VIEWENCAPSULATION.NONE:
EIGENE
KAPSELUNG
UEBER
DEFINIERTE
CSS-STRUKTUREN
.
798
19.7
ZUSAMMENFASSUNG
UND
AUSBLICK
.
802
20
ANGULAR
ELEMENTS:
ANGULAR-KOMPONENTEN
ALS
WEBCOMPONENTS
BEREITSTELLEN
SOS
20.1
EINFUEHRUNG
IN
CUSTOM
ELEMENTS
UND
ANGULAR
ELEMENTS
.
806
20.1.1
HELLO-CUSTOM
ELEMENTS:
DAS
ERSTE
CUSTOM-ELEMENT
.
806
20.2
ANGULAR-KOMPONENTEN
ALS
WEBCOMPONENTS
BEREITSTELLEN
.
807
20.2.1
DIE
WEBCOMPONENT
UEBER
DAS
APPMODULE
REGISTRIEREN
.
808
20.2.2
DEN
BUTTONCHOOSER
ALS
WEBCOMPONENT
BEREITSTELLEN
.
812
20.3
ZONELESS-APPLICATIONS:
ANGULAR-ANWENDUNGEN
UNABHAENGIG
VON
ZONE.JS
MACHEN
.
816
20.3.1
DIE
CHANGEDETECTION
SELBST
MANAGEN
.
817
20.4
DEN
BUILD
FUER
DIE
WEBCOMPONENT-AUSLIEFERUNG
OPTIMIEREN
.
818
20.5
DIE
WEBCOMPONENT
IN
EINEM
ANGULAR-PROJEKT
VERWENDEN
.
819
20.6
DIE
WEBCOMPONENT
IN
EINEM
VUE-PROJEKT
VERWENDEN
.
822
20.7
ZUSAMMENFASSUNG
UND
AUSBLICK
.
826
21
DOCKER:
DIE
ANWENDUNG
IM
CONTAINER
DEPLOYEN
829
21.1
DEPLOYMENT
UEBER
NGINX:
DAS
DOCKER-IMAGE
ERSTELLEN
UND
ALS
CONTAINER
STARTEN
.
830
21.1.1
NGINX.CONF:
DEN
WEBSERVER
KONFIGURIEREN
.
830
21.1.2
IHR
ERSTES
DOCKERFILE:
DIE
ANWENDUNG
IN
NGINX
BEREITSTELLEN
.
831
21.1.3
DOCKER
BUILD:
DAS
DOCKER-IMAGE
ERZEUGEN
.
832
21
21.1.4
DOCKER
RUN:
DEN
DOCKER-CONTAINERSTARTEN
.
833
21.1.5
DIE
DOCKER-BEFEHLE
IN
NPM-SKRIPTE
AUSLAGERN
.
834
21.2
MULTI-STAGE
BUILDS
.
835
21.2.1
DAS
BUILD-ERGEBNIS
IM
NGINX-LMAGE
VERWENDEN
.
838
21.2.2
DIE
TESTS
IM
DOCKER-CONTAINER
AUSFUEHREN
.
838
21.3
DIE
ANWENDUNG
UEBER
UMGEBUNGSVARIABLEN
KONFIGURIEREN
.
840
21.3.1
DYNAMISCHE
KONFIGURATIONEN
PER
JSON-VERWALTEN
.
842
21.3.2
DER
APPJNITIALIZER-MECHANISMUS:
AUFGABEN
VOR
DEM
ANWENDUNGSSTART
VERARBEITEN
.
843
21.3.3
ENTRYPOINT
UND
ENVSUBST:
UMGEBUNGSVARIABLEN
IN
DIE
ANWENDUNG
HINEINGEBEN
.
845
21.4
ZUSAMMENFASSUNG
UND
AUSBLICK
.
848
22
SERVER-SIDE
RENDERING:
ANGULAR-ANWENDUNGEN
AUF
DEM
SERVER
RENDERN
SSI
22.1
EINFUEHRUNG
IN
SERVER-SIDE
RENDERING
(SSR):
GRUNDLAGEN
UND
VORTEILE
.
851
22.1.1
GRUNDIDEE
UND
EINSATZSZENARIEN
FUER
DAS
SERVER-SIDE
RENDERING
.
853
22.2
DAS
ANGULAR-PROJEKT
FUER
DAS
SERVER-SIDE
RENDERING
VORBEREITEN
.
854
22.2.1
NOTWENDIGE
ABHAENGIGKEITEN
INSTALLIEREN
.
854
22.2.2
APPMODULE
UND
APPSERVERMODULE
IMPLEMENTIEREN:
IHRE
ANWENDUNG
AUF
SSR
VORBEREITEN
.
855
22.2.3
ANPASSUNGEN
UND
ERWEITERUNGEN
AM
ANGULAR-ANWENDUNGSCODE
.
856
22.2.4
SERVER.TS:
DIE
EIGENTLICHE
SERVER-ANWENDUNG
AUF
BASIS
VON
NODE.JS
IMPLEMENTIEREN
.
857
22.2.5
DER
ANGULAR-CLI-BUILD
FUER
DIE
SERVER-APPLIKATION
.
859
22.2.6
DEN
SERVER
STARTEN:
SERVER-SIDE
RENDERING
IN
AKTION
.
860
22.3
ISPLATFORMSERVER
UND
ISPLATFORMBROWSER:
WO
BIN
ICH
GERADE?
.
862
22.4
DIE
STATE-TRANSFER-API:
GELADENE
DATEN
VOM
SERVER
AUF
DEN
CLIENT
TRANSFERIEREN
.
862
22.5
TITLE-SERVICE
UND
META-SERVICE:
SUCHMASCHINEN-OPTIMIERUNG
UND
EINBINDUNG
IN
SOCIAL-MEDIA-SEITEN
LEICHT
GEMACHT
.
867
22.6
NOTWENDIGE
ANPASSUNGEN
AM
PROJECT-MANAGER-CODE:
STOLPERFALLEN
UND
ALTERNATIVE
LOESUNGSANSAETZE
BEIM
SERVER-SIDE
RENDERING
.
870
22.6.1
EINSCHRAENKUNGEN
BEIDER
VERWENDUNG
VON
ABSOLUTEN
LINKS
.
870
22.6.2
KEIN
ZUGRIFF
AUF
DEN
LOCAL
STORAGE
(UND
ANDERE
BROWSERDIENSTE)
.
872
22.6.3
PROBLEME
BEI
DER
VERBINDUNG
MIT
WEBSOCKETS
.
875
22
22.7
DIE
ANWENDUNG
IN
DER
CLOUD
DEPLOYEN
.
876
22.7.1
DAS
PROJEKT
IN
DER
GOOGLE
CLOUD
PLATFORM
ANLEGEN
.
876
22.7.2
(OPTIONAL)
BUDGET-ALARME
FESTLEGEN
.
878
22.7.3
DAS
CLOUD-SDK
INSTALLIEREN
.
880
22.7.4
KONFIGURATION
DES
PROJEKTS
.
881
22.7.5
DIE
ANWENDUNG
IN
DER
CLOUD
DEPLOYEN
.
882
22.7.6
DEN
PROJECTS-SERVER
DEPLOYEN
.
884
T2.1J
ENVSUB-UMGEBUNGSVARIABLEN
PER
NPM-SKRIPT
ERSETZEN
.
886
22.8
ZUSAMMENFASSUNG
.
889
ANHANG
89I
A
ECMASCRIPT
2015
(AND
BEYOND)
.
891
A.1
ECMASCRIPT:
WAS
IST
DAS?
.
891
A.2
DIE
NEUEN
ECMASCRIPT-FEATURES
KOMPILIEREN
.
892
A.3
BLOCK-SCOPE-VARIABLEN
.
893
A.4
ARROW
FUNCTIONS
.
896
A.5
REST-PARAMETER
.
899
A.6
SPREAD-OPERATOREN
.
900
A.7
DEFA
ULT-PARAMETER
.
902
A.8
DESTRUCTURING
.
903
A.9
KLASSEN
.
908
A.10
DIE
MODULE-SYNTAX:
JAVASCRIPT-ANWENDUNGEN
MODULARISIEREN
.
914
A.LL
TEMPLATE-STRINGS
.
918
A.12
PROMISES
.
918
A.13
DIE
ASYNC/AWAIT-SYNTAX
.
924
A.14
DIEFOR-OF-SCHLEIFE
.
927
A.15
SYMBOLE
.
928
A.16
ITERATOREN
UND
ITERABLES
.
929
A.17
GENERATOREN
.
931
A.18
SET
UND
MAP:
NEUE
COLLECTION-KLASSEN
.
935
A.
19
ERWEITERUNGEN
VON
VORHANDENEN
STANDARDKLASSEN
.
938
B
TYPSICHERES
JAVASCRIPT
MIT
TYPESCRIPT
.
947
B.
L
EINFACHE
TYPEN
.
947
B.2
KLASSEN
.
958
B.3
INTERFACES
.
964
B.4
MODULE
.
969
B.5
TYPE
INFERENCE:
TYPSICHERHEIT
OHNE
EXPLIZITE
TYPANGABE
.
972
B.6
ERWEITERTE
TYP-TECHNIKEN
.
974
23
B.7
GENERICS
.
981
B.8
NULL
UND
UNDEFINED-HANDLING:
ARBEIT
MIT
OPTIONALEN
WERTEN
UND
EIGENSCHAFTEN
.
983
B.9
UTILITY-TYPEN:
DYNAMISCHE
TYPEN
AUF
BASIS
EXISTIERENDER
KLASSEN
UND
INTERFACES
.
990
B.10
TYPDEKLARATIONEN
FUER
NICHT
TYPISIERTE
BIBLIOTHEKEN
.
995
B.LL
TSCONFIG.JSON:
KONFIGURATION
DES
TYPESCRIPT-PROJEKTS
.
1001
INDEX
.
1007
24 |
adam_txt |
AUF
EINEN
BLICK
1
ANGULAR-KICKSTART:
IHRE
ERSTE
ANGULAR-WEBAPPLIKATION
.
31
2
DAS
ANGULAR-CLI:
PROFESSIONELLE
PROJEKTORGANISATION
FUER
ANGULAR-PROJEKTE
.
61
3
KOMPONENTEN
UND
TEMPLATING:
DER
ANGULAR-SPRACHKERN
.
103
4
DIREKTIVEN:
KOMPONENTEN
OHNE
EIGENES
TEMPLATE
.
167
5
FORTGESCHRITTENE
KOMPONENTEN-KONZEPTE
.
185
6
STANDARDDIREKTIVEN
UND
PIPES:
WISSEN,
WAS
DAS
FRAMEWORK
AN
BORD
HAT
.
233
7
SERVICES
UND
DEPENDENCY-INJECTIOM
LOSE
KOPPLUNG
FUER
IHRE
BUSINESS-LOGIK
.
273
8
TEMPLATE-DRIVEN
FORMS:
EINFACHE
FORMULARE
AUF
BASIS
VON
HTML
.
307
9
REACTIVE
FORMS:
FORMULARE
DYNAMISCH
IN
DER
APPLIKATIONSLOGIK
DEFINIEREN
.
355
10
ROUTING:
NAVIGATION
INNERHALB
DER
ANWENDUNG
.
397
11
HTTP:
ANBINDUNG
VON
ANGULAR-APPLIKATIONEN
AN
EINEN
WEBSERVER
.
457
12
REAKTIVE
ARCHITEKTUREN
MIT
RXJS
.
489
13
KOMPONENTEN-UND
UNIT-TESTS:
DAS
ANGULAR-TESTING-FRAMEWORK
.
533
14
CYPRESS.-KOMFORTABLE
INTEGRATIONSTESTS
FUER
IHRE
ANWENDUNG
.
581
15
NGMODULE
UND
LAZY-LOADING:
MODULARISIERUNG
IHRER
ANWENDUNGEN
.
625
16
INTERNATIONALISIERUNG:
MEHRSPRACHIGE
ANGULAR-ANWENDUNGEN
IMPLEMENTIEREN
.
653
17
DAS
ANIMATION-FRAMEWORK:
ANGULAR-ANWENDUNGEN
ANIMIEREN
.
679
18
VOLLENDET
IN
FORM
UND
FUNKTION:
MATERIAL
DESIGN
UND
ANGULAR
MATERIAL
.
709
19
NPM-LIBRARYS
UND
MONO-REPOS:
FUNKTIONALITAET
IN
BIBLIOTHEKEN
AUSLAGERN
UND
PER
NPM
VEROEFFENTLICHEN
.
773
20
ANGULAR
ELEMENTS:
ANGULAR-KOMPONENTEN
ALS
WEBCOMPONENTS
BEREITSTELLEN
.
805
21
DOCKER:
DIE
ANWENDUNG
IM
CONTAINER
DEPLOYEN
.
829
22
SERVER-SIDE
RENDERING:
ANGULAR-ANWENDUNGEN
AUF
DEM
SERVER
RENDERN
.
851
INHALT
MATERIALIEN
ZUM
BUCH
.
25
VORWORT
.
27
1
ANGULAR-KICKSTART:
IHRE
ERSTE
ANGULAR-WEBAPPLIKATION
31
1.1
INSTALLATION
DER
BENOETIGTEN
SOFTWARE
.
31
1.1.1
NODE.JS
UND
NPM
.
31
1.1.2
VISUAL
STUDIO
CODE:
EINE
KOSTENLOSE
ENTWICKLUNGSUMGEBUNG
FUER
TYPESCRIPT
UND
ANGULAR
.
32
1.1.3
ALTERNATIVE:
WEBSTORM:
PERFEKTE
ANGULAR-UNTERSTUETZUNG
.
32
1.2
HALLO
ANGULAR
.
33
1.2.1
KOMPONENTEN
KONFIGURIEREN
.
36
1.2.2
DIE
KOMPONENTEN-KLASSE
.
38
1.2.3
DAS
APPLIKATIONSMODUL:
DAS
HAUPTMODUL
DER
ANWENDUNG
KONFIGURIEREN
.
39
1.2.4
MAIN.TS:
WAHL
DER
AUSFUEHRUNGSPLATTFORM
UND
START
DES
APPLIKATIONSMODULS
.
41
1.2.5
INDEX.HTML:
EINBINDEN
DER
BOOTSTRAP-KOMPONENTE
UND
START
DER
ANWENDUNG
.
41
1.3
DIE
BLOGGING-ANWENDUNG
.
43
1.3.1
START
DER
APPLIKATION
.
46
1.3.2
EINIGE
TIPPS
ZUR
FEHLERSUCHE
.
47
1.3.3
DIE
FORMULAR-KOMPONENTE:
DATEN
AUS
DER
VIEW
IN
DIE
KOMPONENTEN-KLASSE
UEBERTRAGEN
.
48
1.3.4
DAS
APPLIKATIONSMODELL
.
50
1.3.5
DARSTELLUNG
DER
LISTE
IN
DER
VIEW
.
53
1.3.6
MODULARISIERUNG
DER
ANWENDUNG
.
55
1.4
ZUSAMMENFASSUNG
UND
AUSBLICK
.
59
5
2
DAS
ANGULAR-CLI:
PROFESSIONELLE
PROJEKTORGANISATION
FUER
ANGULAR-PROJEKTE
6I
2.1
DAS
ANGULAR-CLI
INSTALLIEREN
.
62
2.2
NG
NEW:
EIN
CRUNDGERUEST
FUER
DIE
APPLIKATION
ERSTELLEN
.
62
2.2.1
KONFIGURATIONSOPTIONEN
FUER
DIE
PROJEKTGENERIERUNG
.
65
2.2.2
DAS
GENERIERTE
PROJEKT
IM
DETAIL
.
66
2.3
NG
SERVE:
DIE
ANWENDUNG
STARTEN
.
69
2.3.1
DIE
PROXY-KONFIGURATION
.
71
2.3.2
NG
SERVE-DEFAULT-OPTIONEN
UEBER
DIE
ANGULAR.JSON
EINSTELLEN
.
71
2.4
NPM
START:
START
UEBER
DIE
LOKALE
CLI-VERSION
.
73
2.5
NG
GENERATE:
KOMPONENTEN
GENERIEREN
.
74
2.5.1
KONFIGURATIONSOPTIONEN
BEI
DER
KOMPONENTENGENERIERUNG
.
76
2.5.2
WEITERE
GENERATOREN
.
77
2.6
NG
UPDATE:
ANGULAR
UND
WEITERE
ABHAENGIGKEITEN
AUF
DIE
NEUESTE
VERSION
UPDATEN
.
78
2.7
NG
LINT:
LINTING
UND
DER
ANGULAR-STYLE-GUIDE
.
80
2.8
KOMPONENTEN
UND
ENDE-ZU-ENDE-TESTS
AUSFUEHREN
.
82
2.8.1
NGTEST:
UNIT
UND
KOMPONENTEN-TESTS
AUSFUEHREN
.
82
2.8.2
NGE2E:
ENDE-ZU-ENDE-TESTS
AUSFUEHREN
.
84
2.9
CSS-PRAEPROZESSOREN
VERWENDEN
.
85
2.10
DRITTANBIETER-BIBLIOTHEKEN
EINBINDEN
.
86
2.10.1
BIBLIOTHEKEN
UEBER
DIE
INDEX.HTML
EINBINDEN
.
87
2.11
NG
ADD:
ANGULAR-SPEZIFISCHE
ABHAENGIGKEITEN
ZU
IHRER
ANWENDUNG
HINZUFUEGEN
.
87
2.12
NG
BUILD:
DEPLOYBARE
BUILDS
ERSTELLEN
.
90
2.12.1
KONFIGURATIONSOPTIONEN
FUER
DIE
AUSFUEHRUNG
DES
BUILDS
.
90
2.13
CONFIGURATIONS:
KONFIGURATION
UNTERSCHIEDLICHER
BUILD
UND
AUSFUEHRUNGSUMGEBUNGEN
.
92
2.13.1
FILE-REPLACEMENTS:
DATEIEN
ABHAENGIG
VON
DER
KONFIGURATION
AUSTAUSCHEN
.
93
2.13.2
EIGENE
BUILD-KONFIGURATIONEN
ANLEGEN
UND
AKTIVIEREN
.
94
2.13.3
KONFIGURATIONEN
FUER
DEN
NG
SERVE-BEFEHL
.
95
2.13.4
MEHRERE
KONFIGURATIONEN
FUER
IHREN
BUILD
AKTIVIEREN
.
97
2.14
NG
DEPLOY:
DIE
ANWENDUNG
IM
WEB
DEPLOYEN
.
97
2.14.1
PRAXISBEISPIEL:
DEPLOYMENT
AUF
GITHUB
PAGES
.
98
2.15
ZUSAMMENFASSUNG
UND
AUSBLICK
.
101
6
3
KOMPONENTEN
UND
TEMPLATING:
DER
ANGULAR-SPRACHKERN
103
3.1
ETWAS
THEORIE:
DER
ANGULAR-KOMPONENTEN-BAUM
.
103
3.2
SELEKTOREN:
VOM
DOM-ELEMENT
ZUR
ANGULAR-KOMPONENTE
.
107
3.2.1
TAG-SELEKTOREN
.
107
3.2.2
ATTRIBUT-SELEKTOREN
.
108
3.2.3
KLASSEN-SELEKTOREN
.
109
3.2.4
NOT()-SELEKTOREN
.
109
3.2.5
VERKNUEPFUNG
VON
SELEKTOREN
.
109
3.3
DIE
TEMPLATING-SYNTAX:
VERBINDUNG
ZWISCHEN
APPLIKATIONSLOGIK
UND
DARSTELLUNG
.
110
3.3.1
FALLBEISPIEL:
TIMEPICKER-KOMPONENTE
.
110
3.3.2
PROPERTY-BINDINGS
.
111
3.3.3
SONDERFAELLE:
ATTRIBUTE,
KLASSEN
UND
STYLES
SETZEN
.
114
3.3.4
INTERPOLATION:
DARSTELLUNG
VON
WERTEN
IM
VIEW
.
116
3.3.5
EVENT-BINDINGS
.
117
3.3.6
TWO-WAY-DATA-BINDINGS
MIT
NGMODEL
.
121
3.3.7
LOKALE
TEMPLATE-VARIABLEN
.
123
3.3.8
DIE
"-TEMPLATING-MICROSYNTAX
-
NEUE
DOM-ELEMENTE
DYNAMISCH
EINFUEGEN
.
124
3.3.9
TEMPLATING-SYNTAX-SPICKZETTEL
.
128
3.4
KOMPONENTEN-SCHNITTSTELLEN
DEFINIEREN:
VON
DER
EINZELNEN
KOMPONENTE
ZUR
VOLLSTAENDIGEN
APPLIKATION
.
129
3.4.1
INPUT-BINDINGS:
WERTE
IN
IHRE
KOMPONENTEN
HINEINREICHEN
.
129
3.4.2
OUTPUT-BINDINGS:
ANDERE
KOMPONENTEN
UEBER
DATENAENDERUNGEN
INFORMIEREN
.
134
3.4.3
TWO-WAY-DATA-BINDINGS:
SYNTAKTISCHER
ZUCKER
FUER
IHRE
KOMPONENTEN-SCHNITTSTELLE
.
136
3.4.4
NGONCHANGES:
AUF
AENDERUNGEN
VON
BINDINGS
REAGIEREN
.
137
3.4.5
LOKALE
KOMPONENTEN-VARIABLEN:
ZUGRIFF
AUF
DIE
API
IHRER
KIND-ELEMENTE
IM
HTML-CODE
.
139
3.5
VIEWCHILDREN:
ZUGRIFF
AUF
KIND-ELEMENTE
AUS
DER
KOMPONENTEN-KLASSE
.
140
3.6
CONTENT-INSERTION:
DYNAMISCHE
KOMPONENTEN-HIERARCHIEN
ERSTELLEN
.
143
3.6.1
EINFACHEN
HTML-CODE
INJIZIEREN
.
143
3.6.2
CONTENTCHILDREN:
ERZEUGUNG
VON
DYNAMISCHEN
KOMPONENTEN-BAEUMEN
AM
BEISPIEL
EINER
TABS-KOMPONENTE
.
149
3.7
DER
LEBENSZYKLUS
EINER
KOMPONENTE
.
153
3.7.1
DER
KONSTRUKTOR:
INSTANZIIERUNG
DER
KOMPONENTE
.
156
7
3.7.2
NGONLNIT:
INITIALISIERUNG
DER
EIGENEN
KOMPONENTE
.
157
3.7.3
NGONCHANGES:
AUF
AENDERUNGEN
REAGIEREN
.
158
3.7.4
NGAFTERCONTENTLNIT:
AUF
DIE
INITIALISIERUNG
VON
CONTENT-CHILDREN
REAGIEREN
.
159
3.7.5
NGAFTERVIEWINIT:
AUF
DIE
INITIALISIERUNG
VON
VIEWCHILDREN
REAGIEREN
.
159
3.7.6
NGONDESTROY:
AUFRAEUMARBEITEN
VORNEHMEN
.
160
3.7.7
NGAFTERCONTENTCHECKED,
NGAFTERVIEWCHECKED:
DEN
CHANGEDETECTION-MECHANISMUS
VERFOLGEN
.
161
3.7.8
NGDOCHECK:
DEN
CHANGEDETECTION-MECHANISMUS
VERAENDERN
.
162
3.8
ZUSAMMENFASSUNG
UND
AUSBLICK
.
164
4
DIREKTIVEN:
KOMPONENTEN
OHNE
EIGENES
TEMPLATE
167
4.1
ELEMENTREF
UND
RENDERER2:
MANIPULATION
VON
DOM-EIGENSCHAFTEN
EINES
ELEMENTS
.
168
4.1.1
DIE
RENDERER2-KLASSE:
DAS
NATIVE
ELEMENT
PLATTFORMUNABHAENGIG
MANIPULIEREN
.
171
4.2
HOSTBINDING
UND
HOSTLISTENER:
AUSLESEN
UND
VERAENDERN
VON
HOST-EIGENSCHAFTEN
UND
-EVENTS
.
172
4.3
ANWENDUNGSFALL:
EINBINDEN
VON
DRITTANBIETER-BIBLIOTHEKEN
.
174
4.3.1
TWO-WAY-DATA-BINDINGFUERDIE
SLIDER-KOMPONENTE
.
177
4.4
ANWENDUNGSFALL:
ACCORDION-DIREKTIVE
-
MEHRERE
KIND-KOMPONENTEN
STEUERN
.
178
4.5
EXPORTAS:
ZUGRIFF
AUF
DIE
SCHNITTSTELLE
EINER
DIREKTIVE
.
181
4.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
183
5
FORTGESCHRITTENE
KOMPONENTEN-KONZEPTE
ISS
5.1
STYLING
VON
ANGULAR-KOMPONENTEN
.
185
5.1.1
STYLES
AN
DER
KOMPONENTE
DEFINIEREN
.
186
5.1.2
VIEWENCAPSULATION
-
STRATEGIEN
ZUM
KAPSELN
IHRER
STYLES
.
187
5.2
TEMPLATEREF
UND
NGTEMPLATEOUTLET:
DYNAMISCHES
AUSTAUSCHEN
VON
KOMPONENTEN-TEMPLATES
.
196
5.2.1
NGFOR
MIT
ANGEPASSTEN
TEMPLATES
VERWENDEN
.
197
8
5.2.2
NGTEMPLATEOUTLET:
ZUSAETZLICHE
TEMPLATES
AN
DIE
KOMPONENTE
UEBERGEBEN
.
200
5.3
VIEWCONTAINERREF:
KOMPONENTEN
ZUR LAUFZEIT
HINZUFUEGEN
.
204
5.3.1
VIEWCONTAINERREF:
KOMPONENTEN
ZUR
LAUFZEIT
HINZUFUEGEN
.
204
5.3.2
COMPONENTREF:
INTERAKTION
MIT
DER
DYNAMISCH
ERZEUGTEN
KOMPONENTE
.
206
5.3.3
KOMPONENTEN
AN
EINER
BESTIMMTEN
STELLE
EINFUEGEN
.
207
5.3.4
KOMPONENTEN
INNERHALB
DES
VIEWCONTAINERS
VERSCHIEBEN
UND
LOESCHEN
.
207
5.3.5
CREATEEMBEDDEDVIEW:
EIGENE
STRUKTURELLE
DIREKTIVEN
IMPLEMENTIEREN
.
209
5.4
NGCOMPONENTOUTLET:
DYNAMISCH
ERZEUGTE
KOMPONENTEN
NOCH
EINFACHER
VERWALTEN
.
213
5.4.1
UEBERGABE
VON
DYNAMISCHEN
EIGENSCHAFTEN
AN
NGCOMPONENTOUTLET
.
214
5.5
CHANGEDETECTION-STRATEGIEN:
PERFORMANCE-BOOST
FUER
IHRE
APPLIKATION
.
217
5.5.1
DIE
BEISPIELAPPLIKATION
.
218
5.5.2
VERAENDERUNGEN
DES
APPLIKATIONSSTATUS
.
221
5.5.3
CHANGEDETECTION-STRATEGIEN:
OPTIMIERUNG
DES
STANDARDVERHALTENS
.
224
5.5.4
CHANGEDETECTORREF:
DIE
VOLLSTAENDIGE
KONTROLLE
UEBER
DEN
CHANGEDETECTOR
.
227
5.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
230
6
STANDARDDIREKTIVEN
UND
PIPES:
WISSEN,
WAS
DAS
FRAMEWORK
AN
BORD
HAT
233
6.1
STANDARDDIREKTIVEN
.
234
6.1.1
NGLF:
ELEMENTE
ABHAENGIG
VON
BEDINGUNGEN
DARSTELLEN
.
235
6.1.2
NGSWITCH:
SWITCH-CASE-VERHALTEN
IMPLEMENTIEREN
.
236
6.1.3
NGCLASS:
CSS-KLASSEN
DYNAMISCH
HINZUFUEGEN
UND
ENTFERNEN
.
237
6.1.4
NGSTYLE:
DAS
STYLE-ATTRIBUT
MANIPULIEREN
.
241
6.1.5
NGFOR:
KOMFORTABEL
UEBER
LISTEN
ITERIEREN
.
241
6.1.6
NGNONBINDABLE-AUSWERTUNG
DURCH
DIE
TEMPLATING-SYNTAX
VERHINDERN
.
246
6.2
PIPES:
WERTE
VOR DEM
RENDERN
TRANSFORMIEREN
.
247
6.2.1
UPPERCASEPIPE
UND
LOWERCASEPIPE:
STRINGS
TRANSFORMIEREN
.
247
6.2.2
DIE
SLICEPIPE:
NUR
BESTIMMTE
BEREICHE
VON
ARRAYS
UND
STRINGS
DARSTELLEN
.
248
9
6.2.3
DIE
JSON-PIPE:
JAVASCRIPT-OBJEKTE
ALS
STRING
AUSGEBEN
.
250
6.2.4
KEYVALUEPIPE:
UEBER
OBJEKTE
UND
MAPS
ITERIEREN
.
251
6.2.5
DECIMALPIPE:
ZAHLENWERTE
FORMATIEREN
.
253
6.2.6
KURZEXKURS:
LOKALISIERBARE
PIPES-WERTE
DER
AKTUELLEN
SPRACHE
ENTSPRECHEND
FORMATIEREN
.
254
6.2.7
DATEPIPE:
DATUMS
UND
ZEITWERTE
DARSTELLEN
.
255
6.2.8
PERCENT
UND
CURRENCYPIPE:
PROZENT
UND
WAEHRUNGSWERTE
FORMATIEREN
.
258
6.2.9
DIE
ASYNCPIPE:
AUF
ASYNCHRONE
WERTE
WARTEN
.
259
6.2.10
PIPES
IM
KOMPONENTEN-CODE
VERWENDEN
.
262
6.2.11
EIGENE
PIPES
IMPLEMENTIEREN
.
263
6.2.12
PUREVS.LMPURE
PIPES:
PIPE,
AENDERE
DICH!
.
267
6.3
ZUSAMMENFASSUNG
UND
AUSBLICK
.
270
7
SERVICES
UND
DEPENDENCY-INJECTION:
LOSE
KOPPLUNG
FUER
IHRE
BUSINESS-LOGIK
273
7.1
GRUNDLAGEN
DER
DEPENDENCY-INJECTION
.
274
7.2
SERVICES
IN
ANGULAR-APPLIKATIONEN
.
276
7.3
DAS
ANGULAR-DEPENDENCY-INJECTION-FRAMEWORK
.
TTI
7.3.1
INJECTOR
UND
PROVIDER-KONFIGURATION:
DAS
HERZ
DER
DI
.
278
7.3.2
VEREINFACHUNGEN
BEI
DER
PROVIDER-DEFINITION
.
280
7.3.3
DEN
@LNJECT-DECORATOR
VERMEIDEN
.
281
7.3.4
DER
@LNJECTABLE-DECORATOR:
TYPESCRIPT-OPTIMIERTE
INJEKTION
IN
SERVICES
.
282
7.3.5
MEMBER-INJECTION:
AUTOMATISCHE
ERZEUGUNG
VON
MEMBERVARIABLEN
.
283
7.4
WEITERE
PROVIDER-FORMEN
.
284
7.4.1
INJECTION-TOKENS:
KOLLISIONSFREIE
DEFINITION
VON
DL-SCHLUESSELN
.
286
7.5
DER
HIERARCHISCHE
INJECTOR-BAUM:
VOLLE
FLEXIBILITAET
BEI
DER
DEFINITION
IHRER
ABHAENGIGKEITEN
.
288
7.5.1
DER
INJECTOR-BAUM
.
288
7.5.2
REGISTRIERUNG
VON
GLOBALEN
SERVICES:
DER
USERSERVICE
.
290
7.5.3
REGISTRIEREN
VON
KOMPONENTEN-BEZOGENEN
SERVICES:
MUSICSEARCHSERVICE
UND
VIDEOSEARCHSERVICE
.
292
7.6
TREESHAKABLE-PROVIDERS:
DER
DL-MECHANIMUS
AUF
DEN
KOPF
GESTELLT
.
296
10
7.7
SICHTBARKEIT
UND
LOOKUP
VON
DEPENDENCYS
.
297
7.7.1
SICHTBARKEIT
VON
PROVIDERN
BESCHRAENKEN
.
298
7.7.2
DEN
LOOKUP
VON
ABHAENGIGKEITEN
BEEINFLUSSEN
.
300
7.8
ZUSAMMENFASSUNG
UND
AUSBLICK
.
304
8
TEMPLATE-DRIVEN
FORMS:
EINFACHE
FORMULARE
AUF
BASIS
VON
HTML
307
8.1
GRUNDLAGEN
ZU
FORMULAREN:
TEMPLATE-DRIVEN
ODER
REAKTIV?
.
308
8.2
DAS
ERSTE
FORMULAR:
UEBERSICHT
UEBER
DIE
FORMS-API
.
309
8.2.1
EINBINDEN
DES
FORMULAR-MODULS
.
309
8.2.2
IMPLEMENTIERUNG
DES
ERSTEN
FORMULAR-PROTOTYPS
.
310
8.2.3
NGMODEL,
NGFORM,
FORMCONTROL
UND
FORMGROUP:
DIE
WICHTIGSTEN
BESTANDTEILE
DER
FORMS-API
.
314
8.3
NGMODEL
IM
DETAIL:
TWO-WAY-DATA-BINDING
ODER
NICHT?
.
315
8.3.1
ONE-WAY-BINDING
MIT
NGMODEL
.
315
8.4
KURZEXKURS:
VERWENDUNG
VON
INTERFACES
FUER
DIE
DEFINITION
DES
APPLIKATIONSMODELLS
.
319
8.5
WEITERE
EINGABEELEMENTE
.
322
8.5.1
AUSWAHLLISTEN
.
322
8.5.2
CHECKBOXEN
.
327
8.5.3
RADIO-BUTTONS
.
327
8.6
VERSCHACHTELTE
EIGENSCHAFTEN
DEFINIEREN
.
328
8.6.1
VERSCHACHTELTE
EIGENSCHAFTEN
MIT
NGMODELGROUP
.
328
8.7
VALIDIERUNGEN
.
330
8.7.1
VOM
FRAMEWORK
MITGELIEFERTE
VALIDIERUNGSREGELN
.
330
8.7.2
VALIDIERUNGEN
IM
FORMULAR
DARSTELLEN
.
331
8.7.3
IMPLEMENTIERUNG
EINER
GENERISCHEN
SHOWERROR-KOMPONENTE
.
334
8.7.4
EIGENE
VALIDIERUNGSREGELN
DEFINIEREN
.
338
8.7.5
ASYNCHRONE
VALIDIERUNGEN
.
341
8.7.6
FELDUEBERGREIFENDE
VALIDIERUNGEN
.
345
8.8
IMPLEMENTIERUNG
DER
TAGS-LISTE:
WIEDERHOLBARE
STRUKTUREN
MIT
TEMPLATE-DRIVEN
FORMS
.
347
8.9
UPDATEON:
STEUERN,
WANN
AENDERUNGEN
UEBERNOMMEN
WERDEN
.
351
8.10
ZUSAMMENFASSUNG
UND
AUSBLICK
.
352
11
9
REACTIVE
FORMS:
FORMULARE
DYNAMISCH
IN
DER
APPLIKATIONSLOGIK
DEFINIEREN
355
9.1
AKTIVIERUNG
VON
REACTIVE
FORMS
FUER
IHRE
APPLIKATION
.
356
9.2
DAS
TASK-FORMULAR
IM
REAKTIVEN
ANSATZ
.
356
9.2.1
DEFINITION
DES
FORMULARS
IM
TYPESCRIPT-CODE
.
357
9.2.2
VERKNUEPFUNG
DES
FORMULARS
MIT
DEM
HTML-CODE
.
358
9.2.3
FORMARRAY
IM
DETAIL:
WIEDERHOLBARE
STRUKTUREN
DEFINIEREN
.
360
9.2.4
VERBINDUNG
DES
FORMULARS
MIT
DEM
APPLIKATIONSMODELL
.
364
9.2.5
DER
FORMBUILDER:
KOMFORTABLE
DEFINITION
VON
FORMULAREN
.
368
9.2.6
VALIDIERUNGEN
VON
REACTIVE
FORMS
.
369
9.2.7
UPDATEON
IN
REACTIVE
FORMS
.
376
9.3
FORMULARE
UND
KONTROLLELEMENTE
AUF
AENDERUNGEN
UEBERWACHEN
.
377
9.4
FALLBEISPIEL:
UMFRAGEBOGEN
-
FORMULARE
KOMPLETT
DYNAMISCH
DEFINIEREN
.
378
9.5
CONTROLVALUEACCESSOR:
EIGENE
EINGABEELEMENTE
FUER
DIE
FORMS-API
IMPLEMENTIEREN
.
385
9.5.1
DAS
NEUE
EINGABEELEMENT
BEI
DER
FORMS-API
REGISTRIEREN
.
387
9.5.2
WRITEVALUE
UND
REGISTERONCHANGE:
WERTE
VON
DER
FORMS-API
EMPFANGEN
UND
AN
DIE
FORM-API
PROPAGIEREN
.
387
9.5.3
VERWENDUNG
DES
NEUEN
EINGABEELEMENTS
IN
FORMULAREN
.
388
9.5.4
REGISTERONTOUCHED:
DEN
TOUCHED-STATUS
NACH
AUSSEN
PROPAGIEREN
.
391
9.5.5
SETDISABLEDSTATE:
DEN
DISABLED-STATUS
IHRES
EINGABEELEMENTS
VERWALTEN
.
393
9.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
394
10
ROUTING:
NAVIGATION
INNERHALB
DER
ANWENDUNG
397
10.1
PROJECT-MANAGER:
DIE
BEISPIELANWENDUNG
.
398
10.2
DIE
ERSTE
ROUTENKONFIGURATION:
DAS
ROUTING-FRAMEWORK
EINRICHTEN
.
399
10.2.1
ROUTEROUTLET:
FESTLEGEN,
WO
DER
INHALT
VON
ROUTEN
DARGESTELLT
WERDEN
SOLL
.
402
10.3
LOCATION-STRATEGIEN:
SCHOENE
URLS
VS.
ROUTING
OHNE
SERVER-KONFIGURATION
.
404
10.3.1
PATHLOCATION-STRATEGIE:
SCHOENE
URLS
.
404
10.3.2
HASHLOCATION-STRATEGIE:
ROUTING
OHNE
AUFWENDIGE
KONFIGURATION
.
406
12
10.4
CHILDROUTES:
VERSCHACHTELTE
ROUTENKONFIGURATIONEN
ERSTELLEN
.
407
10.4.1
COMPONENTLESS
ROUTES:
ROUTENDEFINITIONEN
OHNE
EIGENE
KOMPONENTE
.
410
10.4.2
RELATIVE
LINKS
.
412
10.5
ROUTERLINKACTIVE:
STYLING
DES
AKTIVEN
LINKS
.
413
10.5.1
ROUTERLINKACTIVEOPTIONS:
EXAKT
ODER
NICHT?
.
414
10.5.2
ISACTIVECHANGE:
AUF
DAS
AKTIVIEREN
EINES
LINKS
REAGIEREN
.
415
10.6
ROUTING-PARAMETER:
DYNAMISCHE
ADRESSZEILENPARAMETER
AUSWERTEN
.
416
10.6.1
PFAD-PARAMETER:
PFLICHT-PARAMETER
IN
ROUTEN
DEFINIEREN
.
416
10.6.2
SNAPSHOTS:
STATISCH
AUF
PARAMETERWERTE
ZUGREIFEN
.
419
10.6.3
MATRIX-PARAMETER:
OPTIONALE
PARAMETER
.
420
10.6.4
QUERY-PARAMETER:
OPTIONALE
PARAMETER
UNABHAENGIG
VOM
SEGMENT
DEFINIEREN
.
424
10.6.5
FRAGMENTBEZEICHNER
.
425
10.7
AUS
DER
ANWENDUNGSLOGIK
HERAUS
NAVIGIEREN
.
427
10.7.1
DIE
NAVIGATE-METHODE:
NAVIGATION
AUF
BASIS
DER
ROUTING-DSL
.
427
10.7.2
NAVIGATEBYLLRL:
NAVIGATION
AUF
BASIS
VON
URLS
.
429
10.8
ROUTING-GUARDS:
ROUTEN
ABSICHERN
UND
DIE
NAVIGATION
GENERISCH
BEEINFLUSSEN
.
429
10.8.1
CANACTIVATE:
ROUTEN
ABSICHERN
.
430
10.8.2
CANACTIVATECHILD
.
433
10.8.3
CANDEACTIVATE:
DAS
VERLASSEN
EINER
ROUTE
VERHINDERN
.
434
10.9
REDIRECTS
UND
WILDCARD-URLS
.
436
10.9.1
ABSOLUTE
REDIRECTS
.
436
10.9.2
RELATIVE
REDIRECTS
.
437
10.9.3
WILDCARD-URLS:
PLATZHALTER-ROUTEN
DEFINIEREN
.
438
10.10
DATA:
STATISCHE
METADATEN
AN
ROUTEN
HINTERLEGEN
.
439
10.11
RESOLVE:
DYNAMISCHE
DATEN
UEBER
DEN
ROUTER
INJIZIEREN
.
439
10.11.1
VERWENDUNG
EINER
RESOLVE-FUNKTION
ANSTELLE
EINER
RESOLVER-KLASSE
.
441
10.12
DER
TITLE-SERVICE:
DEN
SEITENTITEL
VERAENDERN
.
442
10.13
ROUTER-TREE
UND
ROUTER-EVENTS:
GENERISCH
AUF
SEITENWECHSEL
REAGIEREN
444
10.13.1
DER
EVENTS-STREAM:
BEI
SEITENWECHSELN
INFORMIERT
WERDEN
.
444
10.13.2
DER
ROUTER-TREE:
DEN
AKTUELLEN
ROUTER-BAUM
DURCHLAUFEN
.
445
10.14
LOCATION:
DIREKTE
INTERAKTION
MIT
DER
ADRESSZEILE
DES
BROWSERS
.
447
10.15
MEHRERE
ROUTEROUTLETS:
MAXIMALE
FLEXIBILITAET
BEIM
ROUTING
.
449
10.15.1
ZUSAETZLICHE
OUTLETS:
EIN
CHAT-FENSTER
EINBLENDEN
.
449
10.15.2
KOMPLEXERE
OUTLET-KONFIGURATIONEN:
EINE
TASK-SCHNELLANSICHT
.
452
10.16
ZUSAMMENFASSUNG
UND
AUSBLICK
.
455
13
11
HTTP:
ANBINDUNG
VON
ANGULAR-APPLIKATIONEN
AN
EINEN
WEBSERVER
457
11.1
DIE
SERVER-APPLIKATION
.
458
11.1.1
DIEJSON-SERVER-BIBLIOTHEK
.
459
11.2
DAS
ANGULAR-HTTP-MODUL
VERWENDEN
.
462
11.3
DER
ERSTE
GET-REQUEST:
GRUNDLAGEN
ZUR
HTTP-API
.
462
11.3.1
AUF
FEHLER
REAGIEREN
.
464
11.4
ASYNCHRONE
SERVICE-SCHNITTSTELLEN
MODELLIEREN:
ANPASSUNG
DES
TASKSERVICE
.
466
11.4.1
OBSERVABLES
STATT
CALLBACKS:
DATEN
REAKTIV
VERWALTEN
.
466
11.5
DIE
ASYNCPIPE:
NOCH
ELEGANTER
MIT
ASYNCHRONEN
DATEN
ARBEITEN
.
468
11.6
HTTPPARAMS:
ELEGANT
DYNAMISCHE
SUCHEN
DEFINIEREN
.
469
11.7
DIE
OBSERVE-EIGENSCHAFT:
DIE
KOMPLETTE
HTTPRESPONSE
AUSWERTEN
.
472
11.8
POST,
PUT,
DELETE,
PATCH
UND
HEAD:
VERWENDUNG
DER
WEITEREN
HTTP-METHODEN
.
474
11.8.1
HTTP-POST:
NEUE
TASKS
ANLEGEN
.
474
11.8.2
HTTP-PUT:
BESTEHENDE
TASKS
EDITIEREN
.
476
11.8.3
HTTP-DELETE:
TASKS
LOESCHEN
.
477
11.8.4
GENERISCHE
ANFRAGEN:
DIE
REQUEST-METHODE
.
478
11.8.5
HTTP-PATCH:
TASKS
PARTIELL
VERAENDERN
.
480
11.8.6
HTTP-HEAD:
DER
KLEINE
BRUDER
VON
GET
.
481
11.9
JSONP
.
482
11.9.1
DIEJSONP-METHODE
.
484
11.10
ZUSAMMENFASSUNG
UND
AUSBLICK
.
486
12
REAKTIVE
ARCHITEKTUREN
MIT
RXJS
489
12.1
KURZEINFUEHRUNG
IN
RXJS
.
490
12.1.1
OBSERVABLES
UND
OBSERVER-FUNCTIONS:
DIE
KERNELEMENTE
DER
REAKTIVEN
PROGRAMMIERUNG
.
490
12.1.2
SUBSCRIPTIONS,
DER
TAKEUNTIL-OPERATOR
UND
DISPOSING-FUNCTIONS:
OBSERVABLES
SAUBER
BEENDEN
.
492
12.1.3
SUBJECTS:
MULTICAST-FUNKTIONALITAET
AUF
BASIS
VON
RXJS
.
496
12.2
IMPLEMENTIERUNG
EINER
TYPEAHEAD-SUCHE
.
498
12.2.1
MERGEMAP:
VERSCHACHTELTE
OBSERVABLES
VERBINDEN
.
502
14
12.2.2
SWITCHMAP:
NUR
DIE
AKTUELLSTEN
ERGEBNISSE
VERARBEITEN
.
503
12.2.3
MERGE:
MEHRERE
STREAMS
VEREINEN
.
504
12.3
REAKTIVE
DATENARCHITEKTUREN
IN
ANGULAR-APPLIKATIONEN
.
507
12.3.1
SHARED
SERVICES:
DER
ERSTE
SCHRITT
IN
DIE
RICHTIGE
RICHTUNG
.
509
12.3.2
DIE
NEUE
DATENARCHITEKTUR:
PUSH
STATT
PULL
.
511
12.3.3
UMSETZUNG
DES
NEUEN
KONZEPTS
IN
ANGULAR
.
514
12.3.4
ANBINDUNG
DER
TASKLISTCOMPONENT
AN
DEN
STORE
.
521
12.3.5
DER
IN
BEARBEITUNG-ZAEHLER
.
523
12.4
ANBINDUNG
VON
WEBSOCKETS
ZUR
IMPLEMENTIERUNG
EINER
ECHTZEITANWENDUNG
.
524
12.4.1
DER
WEBSOCKET-SERVER
.
525
12.4.2
INTEGRATION
VON
SOCKET.LO
IN
DIE
ANWENDUNG
.
527
12.4.3
VERWENDUNG
VON
SOCKET.LO
IM
TASKSERVICE
.
528
12.5
CHANGEDETECTIONSTRATEGY.ONPUSH:
PERFORMANCE-SCHUB
DURCH
DIE
REAKTIVE
ARCHITEKTUR
.
530
12.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
531
13
KOMPONENTEN
UND
UNIT-TESTS:
DAS
ANGULAR-TESTING-FRAMEWORK
533
13.1
KARMA
UND
JASMINE:
GRUNDLAGEN
ZU
UNIT
UND
KOMPONENTEN-TESTS
IN
ANGULAR-ANWENDUNGEN
.
534
13.1.1
KARMA
EINRICHTEN
.
534
13.2
DER
ERSTE
UNIT-TEST:
EINFACHE
KLASSEN
UND
FUNKTIONEN
TESTEN
.
537
13.2.1
DIE
TESTAUSFUEHRUNG
STARTEN
.
540
13.2.2
NUR
BESTIMMTE
TESTS
AUSFUEHREN
.
541
13.3
ISOLIERTE
KOMPONENTEN
TESTEN:
GRUNDLAGEN
ZU
KOMPONENTEN-TESTS
MIT
DEM
ANGULAR-TESTING-FRAMEWORK
.
543
13.3.1
DIE
ZU
TESTENDE
KOMPONENTE
.
543
13.3.2
TESTBED,
COMPONENTFIXTURE
&
CO:
KONFIGURATION
DES
TESTMODULS
UND
ERZEUGUNG
VON
TEST-KOMPONENTEN
.
545
13.3.3
NATIVEELEMENT
UND
DETECTCHANGE:
MIT
DEM
DOM-BAUM
DER
KOMPONENTE
INTERAGIEREN
.
547
13.4
MOCKS
UND
SPIES:
KOMPONENTEN
MIT
ABHAENGIGKEITEN
TESTEN
.
549
13.4.1
EIGENE
MOCKS
FUER
DIE
SIMULATION
VON
SERVICES
BEREITSTELLEN
.
550
13.4.2
TESTBED.INJECT:
ZUGRIFF
AUF
DIE
IM
TESTKONTEXTVORHANDENEN
SERVICES
.
552
15
13.4.3
SPYON:
DAS
VERHALTEN
VON
FUNKTIONEN
MANIPULIEREN
.
553
13.4.4
SPIES:
AUSGEHENDE
AUFRUFE
UEBERWACHEN,
MANIPULIEREN
UND
AUSWERTEN
.
553
13.5
SERVICES
UND
HTTP-BACKENDS
TESTEN
.
555
13.6
FORMULARE
TESTEN
.
560
13.6.1
REACTIVE
FORMS:
FORMULARE
DIREKT
UEBER
DIE
API
TESTEN
.
560
13.6.2
TEMPLATE-DRIVEN
FORMS:
GENERIERTE
FORMULARE
UEBER
DIE
FORMS-API
TESTEN
.
562
13.6.3
FORMULARE
UEBER
DIE
OBERFLAECHE
TESTEN
.
564
13.7
DIREKTIVEN
UND
NGCONTENT-KOMPONENTEN
TESTEN
.
566
13.7.1
OVERRIDECOMPONENT
UND
COMPILECOMPONENTS:
KOMPONENTEN-TEMPLATES
FUER
DEN
TEST
UEBERSCHREIBEN
.
568
13.8
WAITFORASYNC
UND
FAKEASYNC:
MEHR
KONTROLLE
UEBER
ASYNCHRONE
TESTS
.
569
13.8.1
WAITFORASYNC:
AUTOMATISCH
AUF
ASYNCHRONE
AUFRUFE
WARTEN
.
569
13.8.2
FAKEASYNC:
KOMPLEXERE
ASYNCHRONE
SZENARIEN
STEUERN
.
571
13.9
ROUTING-FUNKTIONALITAET
TESTEN
.
572
13.9.1
MANIPULATION
VON
ROUTER-DIENSTEN
IM
KOMPONENTEN-TEST
.
573
13.9.2
AUSFUEHRUNG
ECHTER
NAVIGATIONSVORGAENGE
.
574
13.10
DIE
TESTS
AUF
IHREM
BUILD-SERVER
AUSFUEHREN
.
576
13.11
ZUSAMMENFASSUNG
UND
AUSBLICK
.
577
14
CYPRESS:
KOMFORTABLE
INTEGRATIONSTESTS
FUER
IHRE
ANWENDUNG
SSI
14.1
CYPRESS
ZUM
PROJEKT
HINZUFUEGEN
UND
AUSFUEHREN
.
582
14.2
CYPRESS
LOKAL
UND
AUF
IHREM
BUILD-SERVER
AUSFUEHREN
.
583
14.2.1
DER
INTERAKTIVE
MODUS:
SEHEN,
WAS
PASSIERT
.
583
14.2.2
DER
HEADLESS-MODUS:
PERFEKTE
INTEGRATION
IN
IHR
BUILD-SYSTEM
.
586
14.3
CYPRESS
KONFIGURIEREN
.
587
14.3.1
MEHRERE
KONFIGURATIONSDATEIEN
VERWENDEN
.
590
14.3.2
UEBERSCHREIBEN
VON
KONFIGURATIONSOPTIONEN
UEBER
COMMANDLINE-PARAMETER
.
590
14.4
CYPRESS-CRUNDLAGEN:
IHRE
ERSTEN
EIGENEN
CYPRESS-TESTS
.
590
14.4.1
TEST-STRUKTUR
.
591
14.4.2
ERWARTUNGEN
(ASSERTIONS)
.
592
14.4.3
CYPRESS-KOMMANDOS,
DAS
CHAINABLE-INTERFACE
UND
DAS
GLOBALE
CY-OBJEKT
.
592
16
14.5
SELEKTOREN,
INTERAKTION
MIT
ELEMENTEN
UND
WEITERE
ASSERTION-TYPEN:
DEN
TASKS-BEREICH
TESTEN
.
594
14.5.1
CY.GET
UND
CY.ITS:
AUF
DOM-ELEMENTE
UND
DEREN
EIGENSCHAFTEN
ZUGREIFEN
.
594
14.5.2
TYPE
UND
CLICK:
INTERAKTION
MIT
DOM-ELEMENTEN
.
596
14.5.3
TASKS
ERZEUGEN:
TEST
DER
FORMULARFUNKTIONALITAET
UND
DES
SEITENWECHELS
.
598
14.6
CY.ON:
AUF
BROWSER-EVENTS
REAGIEREN
.
601
14.7
INTERCEPT:
REST-REQUESTS
UNTERSUCHEN
UND
MANIPULIEREN
.
602
14.7.1
MANIPULATION
VON
ANTWORTEN
MITHILFE
VON
FIXTURE-DATEIEN
.
603
14.7.2
AUF
REST-ANFRAGEN
WARTEN:
EINE
BESSERE
LOESUNG
FUER
WAIT()
.
604
14.7.3
REST-ANFRAGEN
UND
-ANTWORTEN
UNTERSUCHEN
.
605
14.8
CUSTOM
COMMANDS:
DEN
FUNKTIONSUMFANG
VON
CYPRESS
MIT
EIGENEN
KOMMANDOS
DYNAMISCH
ERWEITERN
.
609
14.8.1
DEFINIEREN
VON
TYPESCRIPT-TYPINGS
FUER
IHRE
EIGENEN
KOMMANDOS
.
610
14.9
SCREENSHOTS
UND
VIDEO-RECORDINGS:
SEHEN,
WAS
SCHIEFLAEUFT
.
612
14.9.1
AUTOMATISCHE
UND
MANUELLE
SCREENSHOTS
IHRER
TESTS
.
612
14.9.2
VIDEO-RECORDINGS
IHRER
TESTAUSFUEHRUNG
.
614
14.10
DEBUGGING
VON
CYPRESS-TESTS
.
615
14.10.1
VERWENDUNG
DES
SCHLUESSELWORTS
DEBUGGER
.
615
14.10.2
VERWENDUNG
DES
DEBUG-KOMMANDOS
.
616
14.10.3
DIE
TESTAUSFUEHRUNG
SCHRITTWEISE
DURCHLAUFEN:
DAS
PAUSE-KOMMANDO
.
618
14.11
DIE
CYPRESS-BEISPIELE
ALS
DOKUMENTATION
NUTZEN
.
619
14.12
ZUSAMMENFASSUNG
UND
AUSBLICK
.
621
15
NGMODULE
UND
LAZY-LOADING:
MODULARISIERUNG
IHRER
ANWENDUNGEN
625
15.1
FEATURE-MODULE:
TEILBEREICHE
DER
APPLIKATION
KAPSELN
.
626
15.1.1
FEATURE-MODULE:
DEN
AUFGABENBEREICH
MODULARISIEREN
.
628
15.1.2
DAS
COMMON-MODUL:
IMPORT
VON
ANGULAR-STANDARDFUNKTIONALITAET
.
629
15.1.3
ROUTING
IN
FEATURE-MODULEN:
DIE
ROUTING-KONFIGURATION
MODULARISIEREN
.
629
15.1.4
ANPASSUNGEN
AM
APPROUTINGMODULE
UND
INTEGRATION
DES
FEATURE-MODULS
.
630
17
15.2
SHARED-MODULES:
GEMEINSAM
GENUTZTE
FUNKTIONALITAET
KAPSELN
.
634
15.2.1
BOILERPLATE-CODE
DURCH
SHARED-MODULE
VERMEIDEN
.
637
15.3
MODULE
PER
COMPONENT:
DAS
HOECHSTE
LEVEL
AN
MODULARISIERUNG
.
638
15.4
SERVICES
UND
MODULARISIERUNG
.
640
15.4.1
SERVICES
IN
FEATURE-MODULEN
REGISTRIEREN
.
641
15.4.2
STOLPERFALLEN
BEIM
BEREITSTELLEN
VON
SERVICES
UEBER
SHARED-MODULE
.
642
15.4.3
MODULEWITHPROVIDERS:
INDIVIDUALISIERTE
MODULE
JE
NACH
EINSATZORT
-
EIGENE
FORROOT
ODER
FORCHILD-MODULE
DEFINIEREN
.
643
15.5
LAZY-LOADING
VON
APPLIKATIONSBESTANDTEILEN
.
647
15.5.1
PRELOADING
VON
FEATURE-MODULEN:
DAS
BESTE
AUS
BEIDEN
WELTEN
.
650
15.6
ZUSAMMENFASSUNG
UND
AUSBLICK
.
651
16
INTERNATIONALISIERUNG:
MEHRSPRACHIGE
ANGULAR-ANWENDUNGEN
IMPLEMENTIEREN
653
16.1
EINRICHTUNG
DES
IL8N-FRAMEWORKS
.
654
16.1.1
ONE
BUILD
PER
LOCALE:
STRIKTE
TRENNUNG
DER
UNTERSCHIEDLICHEN
SPRACHVERSIONEN
.
655
16.1.2
DEN
BUILD
IM
ANGULAR-CLI
VORBEREITEN
.
656
16.1.3
DIE
DARZUSTELLENDE
SPRACHE
DYNAMISCH
ERMITTELN
.
658
16.1.4
SPRACHSPEZIFISCHE
BUILD-KONFIGURATIONEN
VERWALTEN
.
660
16.2
NG
EXTRACT-IL8N:
AUTOMATISCHE
GENERIERUNG
DER
MESSAGE-DATEI
.
662
16.3
EIGENE
UEBERSETZUNGSSCHLUESSEL
DEFINIEREN
.
664
16.4
DESCRIPTION
UND
MEANING:
METADATEN
FUER
UEBERSETZER
UEBERGEBEN
.
665
16.5
WEITERE
UEBERSETZUNGSTECHNIKEN
.
666
16.5.1
ATTRIBUTE
(UND
INPUT-BINDINGS)
UEBERSETZEN
.
666
16.5.2
MEHRERE
PARALLELE
KNOTEN
UEBERSETZEN
.
667
16.6
$LOCALIZE:
TEXTE
AUS
DEM
TYPESCRIPT-CODE
HERAUS
UEBERSETZEN
.
668
16.6.1
DEN
$LOCALIZE-SERVICE
MIT
PLATZHALTERN
VERWENDEN
.
669
16.7
PLURALISIERUNG
UND
GESCHLECHTSSPEZIFISCHE
TEXTE
.
670
16.7.1
PLURALISIERUNG:
TEXTE
ABHAENGIG
VOM
ZAHLENWERT
EINER
VARIABLEN
.
670
16.7.2
REALISIERUNGEN
UEBERSETZEN
.
673
16.7.3
H8NSELECTPIPE:
GESCHLECHTSSPEZIFISCHE
TEXTE
FESTLEGEN
.
675
16.8
ZUSAMMENFASSUNG
UND
AUSBLICK
.
677
18
17
DAS
ANIMATION-FRAMEWORK:
ANGULAR-ANWENDUNGEN
ANIMIEREN
679
17.1
DIE
ERSTE
ANIMATION:
GRUNDLAGEN
ZUM
ANIMATION-FRAMEWORK
.
680
17.1.1
BIDIREKTIONALE
TRANSITIONEN
.
684
17.2
VOID
UND
*:
SPEZIELLE
STATES
ZUM
HINZUFUEGEN
UND
ENTFERNEN
VON
DOM-ELEMENTEN
.
684
17.2.1
:ENTER
UND
:LEAVE:
SHORTCUTS
FUER
DAS
EINTRETEN
UND
VERLASSEN
DESDOM-BAUMS
.
686
17.3
ANIMATIONEN
IN
VERBINDUNG
MIT
AUTOMATISCH
BERECHNETEN
EIGENSCHAFTEN
.
687
17.4
ANIMATION-LIFECYDES:
AUF
DEN
START
UND
DAS
ENDE
VON
ANIMATIONEN
REAGIEREN
.
689
17.5
KEYFRAMES:
DEFINITION
VON
KOMPLEXEN,
MEHRSTUFIGEN
ANIMATIONEN
.
690
17.6
STYLING
VON
KOMPONENTEN,
DIE
IN
ANIMATIONEN
VERWENDET
WERDEN
.
691
17.7
GROUPS
UND
SEQUENCES:
MEHRERE
ANIMATIONEN
KOMBINIEREN
.
693
17.7.1
GROUP:
ANIMATIONSSCHRITTE
PARALLEL
AUSFUEHREN
.
693
17.7.2
SEQUENCE:
ANIMATIONSSCHRITTE
NACHEINANDER
AUSFUEHREN
.
694
17.7.3
KOMBINATION
VON
SEQUENCE
UND
GROUP
.
695
17.8
QUERYING:
KOMPLEXE
KOMPONENTEN
ANIMIEREN
.
696
17.8.1
SELEKTOREN
FUER
DIE
ANIMIERTEN
ELEMENTE
.
699
17.8.2
OPTIONALE
ANIMATIONSELEMENTE
DEFINIEREN
.
700
17.9
STAGGERING:
AUSGEFEILTE
LISTENANIMATIONEN
DEFINIEREN
.
700
17.10
ANIMATION
VON
ROUTING-VORGAENGEN
.
702
17.10.1
LIFECYCLE-HOOKS
FUER
ROUTING-ANIMATIONEN
.
705
17.11
ZUSAMMENFASSUNG
UND
AUSBLICK
.
707
18
VOLLENDET
IN
FORM
UND
FUNKTION:
MATERIAL
DESIGN
UND
ANGULAR
MATERIAL
709
18.1
MATERIAL
DESIGN
.
710
18.1.1
DIE
GRUNDIDEEN
IN
DER
WELT
VON
MATERIAL
DESIGN
.
711
18.1.2
GESTALTUNGSRASTER
VON
KOPF
BIS
FUSS
.
715
18.1.3
FARBEN:
WENIGER
IST
MANCHMAL
MEHR
.
722
18.1.4
AUFMERKSAMKEIT
ERZEUGEN,
OHNE
ZU
STOEREN:
ANIMATIONEN
.
724
19
18.2
ANGULAR
MATERIAL
.
725
18.2.1
BEISPIELPROJEKT:
BABYWATCH
.
726
18.2.2
ERSTELLEN
DES
PROJEKTS
UND
INSTALLATION
VON
ANGULAR
MATERIAL
.
727
18.2.3
EINEN
HEADER
FUER
BABYWATCH
ERSTELLEN
.
731
18.2.4
ANLEGEN
VON
MENUE
UND
HAUPTANZEIGEBEREICH
MITHILFE
VON
MAT-SIDENAV
.
734
18.2.5
MAT-NAV-LIST
UND
MAT-LIST-ITEM:
ERSTELLEN
VON
MENUEEINTRAEGEN
ZUR
NAVIGATION
.
740
18.2.6
BABYWATCHSERVICE:
DATEN
FUER
DIE
APPLIKATION
.
744
18.2.7
MAT-CARD:
DARSTELLUNG
DER
TIMELINE
IM
KARTEN-FORMAT
.
744
18.2.8
EIGENE
ICONS
MIT
MAT-ICON
VERWENDEN
.
747
18.2.9
FLOATING
ACTION
BUTTON:
DIE
PRIMAERE
AKTION
DER
APPLIKATION
AUSLOESEN
.
749
18.2.10
MATLNPUTMODULE
UND
KOLLEGEN:
DIE
EINGABEMASKE
FUER
NEUE
TIMELINE-EVENTS
ERSTELLEN
.
752
18.2.11
EINSTELLUNGEN:
AENDERN
DES
BABYNAMENS
UND
LOESCHEN
DER
TIMELINE
.
758
18.2.12
DER
MATDIALOG-SERVICE:
EINE
ABFRAGE
VOR
DEM
LOESCHEN
DER
TIMELINE
IMPLEMENTIEREN
.
763
18.2.13
EIGENES
THEME
ERSTELLEN
.
765
18.3
ZUSAMMENFASSUNG
.
771
19
NPM-LIBRARYS
UND
MONO-REPOS:
FUNKTIONALITAET
IN
BIBLIOTHEKEN
AUSLAGERN
UND
PER
NPM
VEROEFFENTLICHEN
773
19.1
DAS
ANGULAR-CLI-PROJEKT
EINRICHTEN
.
774
19.1.1
FINE-TUNING
DER
PROJEKTSTRUKTUR
.
775
19.2
DIE
GENERIERTE
BIBLIOTHEK
IM
DETAIL
.
777
19.2.1
PUBLIC-API.TS
UND
NG-PACKAGE.JSOM
STEUERUNGSDATEIEN
FUER
DIE
BIBLIOTHEKSERZEUGUNG
.
777
19.2.2
PACKAGE.JSON
UND
TSCONFIG.JSON:
STEUERN,
WIE
DIE
BIBLIOTHEK
VEROEFFENTLICHT
WIRD
.
778
19.3
DIE
BIBLIOTHEK
KOMPILIEREN
UND
IM
DEMO-PROJEKT
EINBINDEN
.
781
19.4
DER
MONO-REPO-ANSATZ
FUER
DIE
ENTWICKLUNG
VON
MEHREREN
WEBAPPLIKATIONEN
.
784
19.4.1
POTENZIELLE
NACHTEILE
VON
ECHTEN
NPM-LIBRARYS
.
785
19.4.2
DER
MONO-REPO-ANSATZ:
STAENDIGE
INTEGRATION
DER
AKTUELLEN
LIBRARY
IN
ALLEN
PROJEKTEN
.
785
19.4.3
NACHTEILE
VON
MONO-REPOS
(UND
LOESUNGSANSAETZE
DAFUER)
.
786
20
19.5
DIE
BIBLIOTHEK
UEBER NPM
VEROEFFENTLICHEN
.
788
19.5.1
EINE
EIGENE
NPM-REGISTRY
AUFSETZEN
.
788
19.5.2
DIE
EIGENE
REGISTRY
VERWENDEN
.
790
19.5.3
NPM
PUBLISH:
DIE
LIBRARY
VEROEFFENTLICHEN
.
791
19.5.4
DIE
LIBRARY
IN
EINEM
ANDEREN
PROJEKT
VERWENDEN
.
792
19.5.5
VERSIONIERUNG
VON
NPM-BIBLIOTHEKEN:
EINFUEHRUNG
IN
DAS
SEMANTIC
VERSIONING
.
793
19.6
BEST
PRACTICES
FUER
DIE
IMPLEMENTIERUNG
VON
STYLEBAREN
KOMPONENTEN
.
794
19.6.1
LOESUNG
1:
CSS-VARIABLEN
.
796
19.6.2
LOESUNG
2:
BEM
UND
VIEWENCAPSULATION.NONE:
EIGENE
KAPSELUNG
UEBER
DEFINIERTE
CSS-STRUKTUREN
.
798
19.7
ZUSAMMENFASSUNG
UND
AUSBLICK
.
802
20
ANGULAR
ELEMENTS:
ANGULAR-KOMPONENTEN
ALS
WEBCOMPONENTS
BEREITSTELLEN
SOS
20.1
EINFUEHRUNG
IN
CUSTOM
ELEMENTS
UND
ANGULAR
ELEMENTS
.
806
20.1.1
HELLO-CUSTOM
ELEMENTS:
DAS
ERSTE
CUSTOM-ELEMENT
.
806
20.2
ANGULAR-KOMPONENTEN
ALS
WEBCOMPONENTS
BEREITSTELLEN
.
807
20.2.1
DIE
WEBCOMPONENT
UEBER
DAS
APPMODULE
REGISTRIEREN
.
808
20.2.2
DEN
BUTTONCHOOSER
ALS
WEBCOMPONENT
BEREITSTELLEN
.
812
20.3
ZONELESS-APPLICATIONS:
ANGULAR-ANWENDUNGEN
UNABHAENGIG
VON
ZONE.JS
MACHEN
.
816
20.3.1
DIE
CHANGEDETECTION
SELBST
MANAGEN
.
817
20.4
DEN
BUILD
FUER
DIE
WEBCOMPONENT-AUSLIEFERUNG
OPTIMIEREN
.
818
20.5
DIE
WEBCOMPONENT
IN
EINEM
ANGULAR-PROJEKT
VERWENDEN
.
819
20.6
DIE
WEBCOMPONENT
IN
EINEM
VUE-PROJEKT
VERWENDEN
.
822
20.7
ZUSAMMENFASSUNG
UND
AUSBLICK
.
826
21
DOCKER:
DIE
ANWENDUNG
IM
CONTAINER
DEPLOYEN
829
21.1
DEPLOYMENT
UEBER
NGINX:
DAS
DOCKER-IMAGE
ERSTELLEN
UND
ALS
CONTAINER
STARTEN
.
830
21.1.1
NGINX.CONF:
DEN
WEBSERVER
KONFIGURIEREN
.
830
21.1.2
IHR
ERSTES
DOCKERFILE:
DIE
ANWENDUNG
IN
NGINX
BEREITSTELLEN
.
831
21.1.3
DOCKER
BUILD:
DAS
DOCKER-IMAGE
ERZEUGEN
.
832
21
21.1.4
DOCKER
RUN:
DEN
DOCKER-CONTAINERSTARTEN
.
833
21.1.5
DIE
DOCKER-BEFEHLE
IN
NPM-SKRIPTE
AUSLAGERN
.
834
21.2
MULTI-STAGE
BUILDS
.
835
21.2.1
DAS
BUILD-ERGEBNIS
IM
NGINX-LMAGE
VERWENDEN
.
838
21.2.2
DIE
TESTS
IM
DOCKER-CONTAINER
AUSFUEHREN
.
838
21.3
DIE
ANWENDUNG
UEBER
UMGEBUNGSVARIABLEN
KONFIGURIEREN
.
840
21.3.1
DYNAMISCHE
KONFIGURATIONEN
PER
JSON-VERWALTEN
.
842
21.3.2
DER
APPJNITIALIZER-MECHANISMUS:
AUFGABEN
VOR
DEM
ANWENDUNGSSTART
VERARBEITEN
.
843
21.3.3
ENTRYPOINT
UND
ENVSUBST:
UMGEBUNGSVARIABLEN
IN
DIE
ANWENDUNG
HINEINGEBEN
.
845
21.4
ZUSAMMENFASSUNG
UND
AUSBLICK
.
848
22
SERVER-SIDE
RENDERING:
ANGULAR-ANWENDUNGEN
AUF
DEM
SERVER
RENDERN
SSI
22.1
EINFUEHRUNG
IN
SERVER-SIDE
RENDERING
(SSR):
GRUNDLAGEN
UND
VORTEILE
.
851
22.1.1
GRUNDIDEE
UND
EINSATZSZENARIEN
FUER
DAS
SERVER-SIDE
RENDERING
.
853
22.2
DAS
ANGULAR-PROJEKT
FUER
DAS
SERVER-SIDE
RENDERING
VORBEREITEN
.
854
22.2.1
NOTWENDIGE
ABHAENGIGKEITEN
INSTALLIEREN
.
854
22.2.2
APPMODULE
UND
APPSERVERMODULE
IMPLEMENTIEREN:
IHRE
ANWENDUNG
AUF
SSR
VORBEREITEN
.
855
22.2.3
ANPASSUNGEN
UND
ERWEITERUNGEN
AM
ANGULAR-ANWENDUNGSCODE
.
856
22.2.4
SERVER.TS:
DIE
EIGENTLICHE
SERVER-ANWENDUNG
AUF
BASIS
VON
NODE.JS
IMPLEMENTIEREN
.
857
22.2.5
DER
ANGULAR-CLI-BUILD
FUER
DIE
SERVER-APPLIKATION
.
859
22.2.6
DEN
SERVER
STARTEN:
SERVER-SIDE
RENDERING
IN
AKTION
.
860
22.3
ISPLATFORMSERVER
UND
ISPLATFORMBROWSER:
WO
BIN
ICH
GERADE?
.
862
22.4
DIE
STATE-TRANSFER-API:
GELADENE
DATEN
VOM
SERVER
AUF
DEN
CLIENT
TRANSFERIEREN
.
862
22.5
TITLE-SERVICE
UND
META-SERVICE:
SUCHMASCHINEN-OPTIMIERUNG
UND
EINBINDUNG
IN
SOCIAL-MEDIA-SEITEN
LEICHT
GEMACHT
.
867
22.6
NOTWENDIGE
ANPASSUNGEN
AM
PROJECT-MANAGER-CODE:
STOLPERFALLEN
UND
ALTERNATIVE
LOESUNGSANSAETZE
BEIM
SERVER-SIDE
RENDERING
.
870
22.6.1
EINSCHRAENKUNGEN
BEIDER
VERWENDUNG
VON
ABSOLUTEN
LINKS
.
870
22.6.2
KEIN
ZUGRIFF
AUF
DEN
LOCAL
STORAGE
(UND
ANDERE
BROWSERDIENSTE)
.
872
22.6.3
PROBLEME
BEI
DER
VERBINDUNG
MIT
WEBSOCKETS
.
875
22
22.7
DIE
ANWENDUNG
IN
DER
CLOUD
DEPLOYEN
.
876
22.7.1
DAS
PROJEKT
IN
DER
GOOGLE
CLOUD
PLATFORM
ANLEGEN
.
876
22.7.2
(OPTIONAL)
BUDGET-ALARME
FESTLEGEN
.
878
22.7.3
DAS
CLOUD-SDK
INSTALLIEREN
.
880
22.7.4
KONFIGURATION
DES
PROJEKTS
.
881
22.7.5
DIE
ANWENDUNG
IN
DER
CLOUD
DEPLOYEN
.
882
22.7.6
DEN
PROJECTS-SERVER
DEPLOYEN
.
884
T2.1J
ENVSUB-UMGEBUNGSVARIABLEN
PER
NPM-SKRIPT
ERSETZEN
.
886
22.8
ZUSAMMENFASSUNG
.
889
ANHANG
89I
A
ECMASCRIPT
2015
(AND
BEYOND)
.
891
A.1
ECMASCRIPT:
WAS
IST
DAS?
.
891
A.2
DIE
NEUEN
ECMASCRIPT-FEATURES
KOMPILIEREN
.
892
A.3
BLOCK-SCOPE-VARIABLEN
.
893
A.4
ARROW
FUNCTIONS
.
896
A.5
REST-PARAMETER
.
899
A.6
SPREAD-OPERATOREN
.
900
A.7
DEFA
ULT-PARAMETER
.
902
A.8
DESTRUCTURING
.
903
A.9
KLASSEN
.
908
A.10
DIE
MODULE-SYNTAX:
JAVASCRIPT-ANWENDUNGEN
MODULARISIEREN
.
914
A.LL
TEMPLATE-STRINGS
.
918
A.12
PROMISES
.
918
A.13
DIE
ASYNC/AWAIT-SYNTAX
.
924
A.14
DIEFOR-OF-SCHLEIFE
.
927
A.15
SYMBOLE
.
928
A.16
ITERATOREN
UND
ITERABLES
.
929
A.17
GENERATOREN
.
931
A.18
SET
UND
MAP:
NEUE
COLLECTION-KLASSEN
.
935
A.
19
ERWEITERUNGEN
VON
VORHANDENEN
STANDARDKLASSEN
.
938
B
TYPSICHERES
JAVASCRIPT
MIT
TYPESCRIPT
.
947
B.
L
EINFACHE
TYPEN
.
947
B.2
KLASSEN
.
958
B.3
INTERFACES
.
964
B.4
MODULE
.
969
B.5
TYPE
INFERENCE:
TYPSICHERHEIT
OHNE
EXPLIZITE
TYPANGABE
.
972
B.6
ERWEITERTE
TYP-TECHNIKEN
.
974
23
B.7
GENERICS
.
981
B.8
NULL
UND
UNDEFINED-HANDLING:
ARBEIT
MIT
OPTIONALEN
WERTEN
UND
EIGENSCHAFTEN
.
983
B.9
UTILITY-TYPEN:
DYNAMISCHE
TYPEN
AUF
BASIS
EXISTIERENDER
KLASSEN
UND
INTERFACES
.
990
B.10
TYPDEKLARATIONEN
FUER
NICHT
TYPISIERTE
BIBLIOTHEKEN
.
995
B.LL
TSCONFIG.JSON:
KONFIGURATION
DES
TYPESCRIPT-PROJEKTS
.
1001
INDEX
.
1007
24 |
any_adam_object | 1 |
any_adam_object_boolean | 1 |
author | Höller, Christoph |
author_GND | (DE-588)1124930485 |
author_facet | Höller, Christoph |
author_role | aut |
author_sort | Höller, Christoph |
author_variant | c h ch |
building | Verbundindex |
bvnumber | BV047860118 |
classification_rvk | ST 250 |
ctrlnum | (OCoLC)1304481504 (DE-599)DNB1246096129 |
discipline | Informatik |
discipline_str_mv | Informatik |
edition | 3., aktualisierte Auflage |
format | Book |
fullrecord | <?xml version="1.0" encoding="UTF-8"?><collection xmlns="http://www.loc.gov/MARC21/slim"><record><leader>00000nam a22000008c 4500</leader><controlfield tag="001">BV047860118</controlfield><controlfield tag="003">DE-604</controlfield><controlfield tag="005">20220315</controlfield><controlfield tag="007">t</controlfield><controlfield tag="008">220302s2022 gw a||| |||| 00||| ger d</controlfield><datafield tag="015" ind1=" " ind2=" "><subfield code="a">21,N47</subfield><subfield code="2">dnb</subfield></datafield><datafield tag="016" ind1="7" ind2=" "><subfield code="a">1246096129</subfield><subfield code="2">DE-101</subfield></datafield><datafield tag="020" ind1=" " ind2=" "><subfield code="a">9783836282437</subfield><subfield code="c">: EUR 39.90 (DE), EUR 41.10 (AT), CHF 49.90 (freier Preis)</subfield><subfield code="9">978-3-8362-8243-7</subfield></datafield><datafield tag="024" ind1="3" ind2=" "><subfield code="a">9783836282437</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(OCoLC)1304481504</subfield></datafield><datafield tag="035" ind1=" " ind2=" "><subfield code="a">(DE-599)DNB1246096129</subfield></datafield><datafield tag="040" ind1=" " ind2=" "><subfield code="a">DE-604</subfield><subfield code="b">ger</subfield><subfield code="e">rda</subfield></datafield><datafield tag="041" ind1="0" ind2=" "><subfield code="a">ger</subfield></datafield><datafield tag="044" ind1=" " ind2=" "><subfield code="a">gw</subfield><subfield code="c">XA-DE-NW</subfield></datafield><datafield tag="049" ind1=" " ind2=" "><subfield code="a">DE-20</subfield><subfield code="a">DE-Aug4</subfield><subfield code="a">DE-858</subfield><subfield code="a">DE-19</subfield><subfield code="a">DE-188</subfield><subfield code="a">DE-706</subfield><subfield code="a">DE-523</subfield><subfield code="a">DE-573</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="a">ST 250</subfield><subfield code="0">(DE-625)143626:</subfield><subfield code="2">rvk</subfield></datafield><datafield tag="084" ind1=" " ind2=" "><subfield code="8">1\p</subfield><subfield code="a">004</subfield><subfield code="2">23sdnb</subfield></datafield><datafield tag="100" ind1="1" ind2=" "><subfield code="a">Höller, Christoph</subfield><subfield code="e">Verfasser</subfield><subfield code="0">(DE-588)1124930485</subfield><subfield code="4">aut</subfield></datafield><datafield tag="245" ind1="1" ind2="0"><subfield code="a">Angular</subfield><subfield code="b">das umfassende Handbuch</subfield><subfield code="c">Christoph Höller</subfield></datafield><datafield tag="250" ind1=" " ind2=" "><subfield code="a">3., aktualisierte Auflage</subfield></datafield><datafield tag="264" ind1=" " ind2="1"><subfield code="a">Bonn</subfield><subfield code="b">Rheinwerk Computing</subfield><subfield code="c">2022</subfield></datafield><datafield tag="300" ind1=" " ind2=" "><subfield code="a">1016 Seiten</subfield><subfield code="b">Illustrationen</subfield></datafield><datafield tag="336" ind1=" " ind2=" "><subfield code="b">txt</subfield><subfield code="2">rdacontent</subfield></datafield><datafield tag="337" ind1=" " ind2=" "><subfield code="b">n</subfield><subfield code="2">rdamedia</subfield></datafield><datafield tag="338" ind1=" " ind2=" "><subfield code="b">nc</subfield><subfield code="2">rdacarrier</subfield></datafield><datafield tag="500" ind1=" " ind2=" "><subfield code="a">Auf dem Umschlag: Angular-Webapplikationen professionell entwickeln, Einführung, Praxis, TypeScript und RxJS, Formulare, Routing, HTTP-Anbindung, Animationen, i18n, reaktive Anwendungen, Performance-Tuning. - Mit Codebeispielen zum Download</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Angular</subfield><subfield code="0">(DE-588)1183593139</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">AngularJS</subfield><subfield code="0">(DE-588)105899333X</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="650" ind1="0" ind2="7"><subfield code="a">Framework</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4464685-9</subfield><subfield code="2">gnd</subfield><subfield code="9">rswk-swf</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Angular-JS</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Single-Page-Applikationen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">ECMA-Script</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Mobile Apps</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Bootstrap</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Grundlagen</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Web-Entwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Webentwicklung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">HTTP-Anbindung</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Node.js Test CLI</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Web-Sockets</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Dependency-Injection</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">RxJS</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Router</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Bücher lernen Kurse Tipps</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Tests</subfield></datafield><datafield tag="653" ind1=" " ind2=" "><subfield code="a">Advanced</subfield></datafield><datafield tag="689" ind1="0" ind2="0"><subfield code="a">JavaScript</subfield><subfield code="0">(DE-588)4420180-1</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="1"><subfield code="a">Framework</subfield><subfield code="g">Informatik</subfield><subfield code="0">(DE-588)4464685-9</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2="2"><subfield code="a">AngularJS</subfield><subfield code="0">(DE-588)105899333X</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="0" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="689" ind1="1" ind2="0"><subfield code="a">Angular</subfield><subfield code="0">(DE-588)1183593139</subfield><subfield code="D">s</subfield></datafield><datafield tag="689" ind1="1" ind2=" "><subfield code="5">DE-604</subfield></datafield><datafield tag="710" ind1="2" ind2=" "><subfield code="a">Rheinwerk Verlag</subfield><subfield code="0">(DE-588)1081738405</subfield><subfield code="4">pbl</subfield></datafield><datafield tag="776" ind1="0" ind2="8"><subfield code="i">Erscheint auch als</subfield><subfield code="n">Online-Ausgabe</subfield><subfield code="z">978-3-8362-8245-1</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">X:MVB</subfield><subfield code="q">text/html</subfield><subfield code="u">http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&prov=M&dok_var=1&dok_ext=htm</subfield><subfield code="3">Inhaltstext</subfield></datafield><datafield tag="856" ind1="4" ind2="2"><subfield code="m">DNB Datenaustausch</subfield><subfield code="q">application/pdf</subfield><subfield code="u">http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033242751&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA</subfield><subfield code="3">Inhaltsverzeichnis</subfield></datafield><datafield tag="883" ind1="1" ind2=" "><subfield code="8">1\p</subfield><subfield code="a">vlb</subfield><subfield code="d">20211119</subfield><subfield code="q">DE-101</subfield><subfield code="u">https://d-nb.info/provenance/plan#vlb</subfield></datafield><datafield tag="943" ind1="1" ind2=" "><subfield code="a">oai:aleph.bib-bvb.de:BVB01-033242751</subfield></datafield></record></collection> |
id | DE-604.BV047860118 |
illustrated | Illustrated |
index_date | 2024-07-03T19:17:31Z |
indexdate | 2024-07-20T08:17:44Z |
institution | BVB |
institution_GND | (DE-588)1081738405 |
isbn | 9783836282437 |
language | German |
oai_aleph_id | oai:aleph.bib-bvb.de:BVB01-033242751 |
oclc_num | 1304481504 |
open_access_boolean | |
owner | DE-20 DE-Aug4 DE-858 DE-19 DE-BY-UBM DE-188 DE-706 DE-523 DE-573 |
owner_facet | DE-20 DE-Aug4 DE-858 DE-19 DE-BY-UBM DE-188 DE-706 DE-523 DE-573 |
physical | 1016 Seiten Illustrationen |
publishDate | 2022 |
publishDateSearch | 2022 |
publishDateSort | 2022 |
publisher | Rheinwerk Computing |
record_format | marc |
spelling | Höller, Christoph Verfasser (DE-588)1124930485 aut Angular das umfassende Handbuch Christoph Höller 3., aktualisierte Auflage Bonn Rheinwerk Computing 2022 1016 Seiten Illustrationen txt rdacontent n rdamedia nc rdacarrier Auf dem Umschlag: Angular-Webapplikationen professionell entwickeln, Einführung, Praxis, TypeScript und RxJS, Formulare, Routing, HTTP-Anbindung, Animationen, i18n, reaktive Anwendungen, Performance-Tuning. - Mit Codebeispielen zum Download Angular (DE-588)1183593139 gnd rswk-swf AngularJS (DE-588)105899333X gnd rswk-swf JavaScript (DE-588)4420180-1 gnd rswk-swf Framework Informatik (DE-588)4464685-9 gnd rswk-swf Angular-JS Single-Page-Applikationen ECMA-Script Mobile Apps Bootstrap Grundlagen Web-Entwicklung Webentwicklung HTTP-Anbindung Node.js Test CLI Web-Sockets Dependency-Injection RxJS Router Bücher lernen Kurse Tipps Tests Advanced JavaScript (DE-588)4420180-1 s Framework Informatik (DE-588)4464685-9 s AngularJS (DE-588)105899333X s DE-604 Angular (DE-588)1183593139 s Rheinwerk Verlag (DE-588)1081738405 pbl Erscheint auch als Online-Ausgabe 978-3-8362-8245-1 X:MVB text/html http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&prov=M&dok_var=1&dok_ext=htm Inhaltstext DNB Datenaustausch application/pdf http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033242751&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA Inhaltsverzeichnis 1\p vlb 20211119 DE-101 https://d-nb.info/provenance/plan#vlb |
spellingShingle | Höller, Christoph Angular das umfassende Handbuch Angular (DE-588)1183593139 gnd AngularJS (DE-588)105899333X gnd JavaScript (DE-588)4420180-1 gnd Framework Informatik (DE-588)4464685-9 gnd |
subject_GND | (DE-588)1183593139 (DE-588)105899333X (DE-588)4420180-1 (DE-588)4464685-9 |
title | Angular das umfassende Handbuch |
title_auth | Angular das umfassende Handbuch |
title_exact_search | Angular das umfassende Handbuch |
title_exact_search_txtP | Angular das umfassende Handbuch |
title_full | Angular das umfassende Handbuch Christoph Höller |
title_fullStr | Angular das umfassende Handbuch Christoph Höller |
title_full_unstemmed | Angular das umfassende Handbuch Christoph Höller |
title_short | Angular |
title_sort | angular das umfassende handbuch |
title_sub | das umfassende Handbuch |
topic | Angular (DE-588)1183593139 gnd AngularJS (DE-588)105899333X gnd JavaScript (DE-588)4420180-1 gnd Framework Informatik (DE-588)4464685-9 gnd |
topic_facet | Angular AngularJS JavaScript Framework Informatik |
url | http://deposit.dnb.de/cgi-bin/dokserv?id=098374722cf849d89bc0bdbb09516aec&prov=M&dok_var=1&dok_ext=htm http://bvbr.bib-bvb.de:8991/F?func=service&doc_library=BVB01&local_base=BVB01&doc_number=033242751&sequence=000001&line_number=0001&func_code=DB_RECORDS&service_type=MEDIA |
work_keys_str_mv | AT hollerchristoph angulardasumfassendehandbuch AT rheinwerkverlag angulardasumfassendehandbuch |