Angular 2 Workshop November 2015 von der w-jax 2015
1
Angular 2.0: Moderne Anwendungen für
das Web von morgen und Migrationspfade
Manfred Steyer
ManfredSteyer
Aktuelles Buch
Folie 2
O'Reilly:
AngularJS: Moderne
Webanwendungen und Single Page
Applications mit JavaScript
Steyer, Softic
2
Ziel
Angular 2.0 und zugrundeliegende Konzepte
anhand eines Beispielprojektes kennen lernen
Page 4
Didaktik
Kurze Präsentationen
Live-Coding
Fragen: Gerne jederzeit!
Page 5
11
Data-Binding in Angular 1.x
Page 48
Model Model Directive
Komponenten-Baum in Angular 2
Page 49
Komponente für App
Komponente (z. B. Liste)
Komponente
(z. B. Eintrag)
Komponente
(z. B. Eintrag)
12
Regeln für Property-Bindings
Eine Komponente hängt nur von ihren eigenen Daten
(und indirekt von denen des Parents) ab
Eine Komponente hängt nicht von
Daten ihrer Kinder ab!
Abhängigkeits-Graph ist ein Baum
Angular benötigt nur einen Digest um Baum mit GUI
abzugleichen
Page 51
Property-Binding
Page 52
model
item item
{{ item.title }} {{ item.title }}
[http://victorsavkin.com/post/110170125256/change-detection-in-angular-2]
22
Motivation
SPAs bestehen aus einer Seite
Innerhalb dieser werden Bereiche ein- und
ausgeblendet --> "Logische Seiten"
Herausforderungen:
URL-Parameter und Bookmarks
Back-Button
Eigene Datei pro logischer Seite --> Übersicht
Page 79
Routing unter AngularJS
Logische Seiten erhalten eine URL, z. B:
/FlugDemo#flugbuchen/passagier
/FlugDemo#flugbuchen/flug
Logische Seiten erhalten URL-Parameter, z. B.:
/FlugDemo#flugbuchen/passagier/5
Page 80
23
Routing unter AngularJS
SPA erhält Platzhalter
Je nach URL wird in diesen Platzhalter ein Template
geladen
#flugbuchen/passagier --> passagier.html
#flugbuchen/flug --> flug.html
Templates sind i.d.R. eigene Dateien
Werden bei Bedarf nachgeladen
Können auch in SPA inkludiert werden
Page 81
Routen (Zustände)
Routen sind Kombination aus u. a.:
Url (mit/ohne Platzhalter)
Template
Controller
Page 82
24
Routing unter AngularJS
Page 83
Logo + Menü
Menü2
Fußzeile
SPA
Platzhalter
Routing unter AngularJS
Page 84
Logo + Menü
Menü2
Fußzeile
SPA
Passagier.html
/FlugDemo#flugbuchen/passagier