0

Angular für Dummies

eBook - Für Dummies

Erschienen am 08.02.2019, 1. Auflage 2019
23,99 €
(inkl. MwSt.)

Download

E-Book Download
Bibliografische Daten
ISBN/EAN: 9783527813117
Sprache: Deutsch
Umfang: 326 S., 6.63 MB
E-Book
Format: EPUB
DRM: Adobe DRM

Beschreibung

Mit diesem Buch finden Sie einen schnellen Einstieg in das JavaScript-Framework Angular und in TypeScript. Sobald die Entwicklungsumgebung installiert ist, bauen Sie Ihre Angular-Fertigkeiten Schritt für Schritt aus. Mit den fertigen Code-Beispielen zum Herunterladen können Sie experimentieren. Anschließend sind Sie in der Lage, bei Angular-Webprojekten mitzureden und mitzutun. Für das Verständnis des Buchs sind lediglich HTML-, CSS- und JavaScript-Kenntnisse notwendig.

Autorenportrait

Nikolas Poniros ist Berater und Trainer für Webtechnologien in Darmstadt. Er arbeitet meistens im Frontend mit Angular und hin und wieder im Backend mit Node.js. In seiner Freizeit beschäftigt er sich mit neuen (Web-)Technologien.

Inhalt

Über den Autor 7

Einleitung19

Konventionen in diesem Buch 19

Was Sie nicht lesenmüssen 19

Törichte Annahmen über die Leser 20

Wie dieses Buch aufgebaut ist 20

Teil I: Die ersten Schritte 20

Teil II: Mit dem Nutzer interagieren 20

Teil III: Mit dem Server kommunizieren 20

Teil IV: Routing 20

Teil V: Die Anwendung testen 21

Teil VI: Der Top-Ten-Teil 21

Symbole, die in diesem Buch verwendet werden 21

Wie es weitergeht 21

Teil I Die Ersten Schritte23

Kapitel 1 Die Werkzeuge25

Die Entwicklungsumgebung 25

Node.js und npm 26

Texteditoren 28

Der TypeScript-Compiler 29

Kompilierfehler 30

Compiler-Optionen 31

TSLint, codelyzer und Prettier 33

Das Hauptwerkzeug: Angular CLI 34

Features von Angular CLI 34

Projekt initialisieren 36

Die Verzeichnisstruktur von Angular CLI 36

Die Konfigurationsdatei von Angular CLI 39

Die Anwendung bauen 41

Die Beispielanwendung tritt auf 44

Beispielanwendung: Umgebung einrichten 46

Kapitel 2 Die erste Angular-Anwendung49

Die Bausteine einer Angular-Anwendung 49

Angular-Module 50

Angular-Module definieren 51

Der NgModule-Decorator 52

Arten von Angular-Modulen 53

Hauptmodul 53

Feature-Module 54

Routing-Module 54

Service-Module 55

Widget-Module 55

Komponenten 55

Komponenten definieren 55

Der Component-Decorator 57

Das Template der Komponente 57

Die Styles der Komponente 59

Komponenten deklarieren 60

Services Ein Ort für die Logik 61

Einen Service definieren 61

Einen Service registrieren 62

Einen Service nutzen 63

Dependency Injection und Providers 64

Hierarchische Injektoren 64

Die Hauptdatei der Anwendung 66

Beispielanwendung: Erste Schritte 68

Service implementieren und registrieren 68

Service nutzen 69

Kapitel 3 Modularer Aufbau71

Der Komponentenbaum 71

Komponenten und ihre Kinder 72

Komponenten in ein Template einfügen 73

Interaktion zwischen Komponenten 74

Der Lebenszyklus einer Komponente 82

Lifecycle-Hooks definieren 83

Konstruktor 83

ngOnChanges 83

ngOnInit 85

ngDoCheck 85

ngAfterContentInit 85

ngAfterContentChecked 85

ngAfterViewInit 86

ngAfterViewChecked 86

ngOnDestroy 86

Dumme und kluge Komponenten 86

Dumme Komponenten 86

Kluge Komponenten 87

Vorteile dieser Aufteilung 87

Beispielanwendung: Neue Komponenten 87

Teil II Mit Dem Nutzer Interagieren93

Kapitel 4 Der Nutzer und was er sieht95

Daten anzeigen 95

Listen anzeigen 95

Daten vor dem Anzeigen transformieren 100

Auf Ereignisse reagieren 104

Parameter übergeben 105

Pseudo-Ereignisse 107

Das Aussehen verändern 107

Die NgStyle-Direktive 107

Die NgClass-Direktive 108

Teile der Ansicht bedingt anzeigen 110

Die NgIf-Direktive 110

Die NgSwitch-Direktive 111

Beispielanwendung: Daten anzeigen 112

Kontaktlisten anzeigen 112

Kontakte anzeigen 113

Die Ansicht aufräumen 115

Kapitel 5 Daten vom Nutzer bekommen117

Formulare in Angular 117

Formulararten 118

Voraussetzungen für die Nutzung von Formularen 119

Ein einfaches Formular implementieren 119

Template-gesteuerte Formulare implementieren 120

Textfelder in Template-gesteuerte Formularen 121

Zahlenfelder in Template-gesteuerten Formularen 123

Kontrollkästchen in Template-gesteuerten Formularen 124

Optionsschaltflächen in Template-gesteuerten Formularen 125

Auswahlfelder in Template-gesteuerte Formularen 126

Komplexere Formulare implementieren 127

Modell-gesteuerte Formulare implementieren 128

Eingabefelder in Modell-gesteuerten Formularen 129

Auf Datenänderungen im Formular reagieren 131

Dynamische Formulare 134

Beispielanwendung: Daten bekommen 136

Formular für die Kontaktlisten 137

Das Formular nutzen 138

Das Formular anzeigen 139

Kapitel 6 Nutzereingaben validieren141

Grundlagen 141

Validierungsfunktionen 142

Validierungsdirektiven 143

Zustände von Eingabefeldern 144

Zustände von Gruppen 146

Validierung in Template-gesteuerten Formularen 147

Validierungsdirektiven nutzen 147

Den Zustand von Template-gesteuerten Formularen abfragen 148

Validierung in Modell-gesteuerten Formularen 149

Validierungsfunktionen nutzen 149

Den Zustand von Modell-gesteuerten Formularen abfragen 151

Validierungsfehler anzeigen 153

Eigene Validierungsfunktionen 155

Synchrone Validierungsfunktionen 155

Asynchrone Validierungsfunktionen 156

Gruppenvalidierung 158

Beispielanwendung: Eingabe validieren 159

Teil III Mit Dem Server Kommunizieren161

Kapitel 7 Grundlagen der Server-Kommunikation163

Webserver 163

Reaktive Programmierung mit RxJS 165

Observables 165

Signale von Observables 166

Observables erzeugen 167

Methoden von Observables 168

Operatoren für Observables 171

Fehlerbehandlung 174

Das HTTP-Modul 177

Angular-Module im HTTP-Modul 177

Hilfsklassen im HTTP-Modul 178

Der HttpClient-Service 179

Methoden des HttpClient-Services 179

Optionen des HttpClient-Services 179

Weitere Features des HttpClient-Services 180

Beispielanwendung: API-Server 180

Mit dem API-Server arbeiten 181

API-Beschreibung 182

Kapitel 8 Datenaustausch mit einem REST-Server187

Voraussetzungen 187

Daten vom Server anfordern 188

JSON-Daten anfordern 188

Daten in einem anderen Format anfordern 190

Daten an den Server schicken 191

Daten hinzufügen 192

Daten aktualisieren 193

Daten löschen 195

Anfrageparameter 195

Auf die HttpResponse-Instanz zugreifen 196

Eigene Headers definieren 198

Fehlerbehandlung 199

Fehlerarten 200

Fehler in einem Service behandeln 201

Fehler in einer Komponente behandeln 203

Beispielanwendung: Datenaustausch 203

Kontaktlisten anfordern 204

Kontaktlisten hinzufügen 205

Kontaktlisten aktualisieren 206

Kontaktlisten löschen 207

Fehlerbehandlung 208

Teil IV Routing209

Kapitel 9 Routing: Grundlagen211

Was ist Routing? 211

Der Angular-Router 212

Das Angular-Router-Paket 212

Routerkonfiguration 214

Routingbaum und Zustand 216

Routing-Module 217

Routing-Modul für ein Feature-Modul 218

Haupt-Routing-Modul 219

Komponenten anzeigen 220

Navigierenmit dem Angular-Router 221

Absolute und relative Pfade 221

Navigation im Template 223

Navigation in der Klasse 224

Parametrisierte Pfade 225

Routing in der Beispielanwendung 227

In Angular-Module aufteilen 227

Routing implementieren 229

Kapitel 10 Weitere Router-Features231

Verschachtelte Routes 231

Verschachtelte Routes und RouterOutlets 232

Vorteile von verschachtelten Routes 234

Angular-Module nachladen 235

Module zum Nachladen definieren 235

Preloading 236

Bedingte Navigation 237

Guards definieren 238

Guards nutzen 238

canLoad-Guard 239

canActivate-Guard 240

canActivateChild-Guard 240

canDeactivate-Guard 240

Datenmit dem Router übergeben 241

Statische Daten übergeben 241

Dynamische Daten übergeben 243

Navigationsereignisse 245

Überblick über die Navigationsereignisse 245

Auf Navigationsereignisse reagieren 246

Umleitungen 247

Umleitungen definieren 248

Absolute und relative Umleitungen 248

Beispielanwendung: Login 249

Teil V Die Anwendung Testen251

Kapitel 11 Unit-Tests253

Was sind Unit-Tests? 253

Jasmine 254

Testaufbau 254

Erwartungen definieren 256

Test-Spione 257

Asynchrone Tests 259

Unit-Tests ausführen 260

Angular-Test-Module definieren 262

Services testen 264

Bausteine mit Abhängigkeiten testen 266

Tests mit dem HttpClient 268

Komponenten testen 270

Das DOM einer Komponente testen 271

Verschachtelte Komponenten 274

Die Beispielanwendung Unit-testen 275

Kapitel 12 End-to-End-Tests279

Was sind End-to-End-Tests? 279

Protractor 281

Die Funktionsweise von Protractor 282

Browserunterstützung 283

Tests mit Protractor schreiben 283

Das browser-Objekt 284

Das by-Objekt 285

Das element-Objekt 286

Beispiel für einen End-to-End-Test 287

Seitenobjekte 289

End-to-End-Tests ausführen 290

Timeouts 292

Die Beispielanwendung testen 293

Teil VI Der Top-Ten-Teil295

Kapitel 13 Zehn Angular-Bibliotheken297

Angular Material 297

ng-bootstrap 297

ngx-bootstrap 298

PrimeNG 298

NgRx 298

ag-Grid 299

NGX-Translate 300

Augury 300

Angular Universal 300

Ionic 301

Kapitel 14 (Nicht ganz) Zehn Angular-Informationsquellen303

Angular-Dokumentations-Webseite 303

Angular-Blog 304

Angular GitHub-Repository 304

Gitter 304

Stack Overflow 305

Angular in Depth 305

AngularJS.DE 305

Angular University 306

Awesome Angular 306

Anhang A Einführung in TypeScript307

Basistypen 308

Boolean 308

Number 309

String 309

Arrays 310

null und undefined 310

Any 310

Funktionen 311

Optionale und Default-Parameter 312

Pfeilfunktionen 313

Interfaces 313

Interfaces erweitern 314

Optionale Eigenschaften/Methoden 315

Klassen 315

Klassen und Interfaces 316

Sichtbarkeit von Eigenschaften und Methoden 317

Statische Methoden 318

Generische Typdefinitionen 319

Stichwortverzeichnis 321

Informationen zu E-Books

„E-Book“ steht für digitales Buch. Um diese Art von Büchern lesen zu können wird entweder eine spezielle Software für Computer, Tablets und Smartphones oder ein E-Book Reader benötigt. Da viele verschiedene Formate (Dateien) für E-Books existieren, gilt es dabei, einiges zu beachten.
Von uns werden digitale Bücher in drei Formaten ausgeliefert. Die Formate sind EPUB mit DRM (Digital Rights Management), EPUB ohne DRM und PDF. Bei den Formaten PDF und EPUB ohne DRM müssen Sie lediglich prüfen, ob Ihr E-Book Reader kompatibel ist. Wenn ein Format mit DRM genutzt wird, besteht zusätzlich die Notwendigkeit, dass Sie einen kostenlosen Adobe® Digital Editions Account besitzen. Wenn Sie ein E-Book, das Adobe® Digital Editions benötigt herunterladen, erhalten Sie eine ASCM-Datei, die zu Digital Editions hinzugefügt und mit Ihrem Account verknüpft werden muss. Einige E-Book Reader (zum Beispiel PocketBook Touch) unterstützen auch das direkte Eingeben der Login-Daten des Adobe Accounts – somit können diese ASCM-Dateien direkt auf das betreffende Gerät kopiert werden.
Da E-Books nur für eine begrenzte Zeit – in der Regel 6 Monate – herunterladbar sind, sollten Sie stets eine Sicherheitskopie auf einem Dauerspeicher (Festplatte, USB-Stick oder CD) vorsehen. Auch ist die Menge der Downloads auf maximal 5 begrenzt.