Жанры
Авторы
Контакты
О сайте
Книжные новинки
Популярные книги
Найти
Главная
Авторы
Ferdinand Malcher
Angular
Читать книгу Angular - Ferdinand Malcher - Страница 1
Оглавление
Предыдущая
Следующая
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
228
Оглавление
Купить и скачать книгу
Вернуться на страницу книги Angular
Оглавление
Страница 1
Страница 2
Страница 3
Страница 4
Страница 5
Страница 6
Vorwort
Versionen und Namenskonvention: Angular vs. AngularJS
Umgang mit Aktualisierungen
An wen richtet sich das Buch?
Was sollten Sie mitbringen?
Für wen ist dieses Buch weniger geeignet?
Wie ist dieses Buch zu lesen?
Abtippen statt Copy & Paste
Beratung und Workshops
Danksagung
Страница 17
Inhaltsverzeichnis
Страница 19
1Schnellstart
StackBlitz und Drittanbieter-Cookies
Polyfill bzw. Shim
1.1Das HTML-Grundgerüst
Listing 1–1
Die Datei
src/index.html
1.2Die Startdatei für das Bootstrapping
Listing 1–2
Die Datei
src/main.ts
Achtung: Bootstrap hat nichts mit CSS zu tun!
1.3Das zentrale Angular-Modul
Listing 1–3
Die Datei
src/app/app.module.ts
Achtung: JavaScript-Modul
≠
Angular-Modul
1.4Die erste Komponente
Listing 1–4
Die Datei
src/app/app.component.ts
Die
HelloComponent
Zusammenfassung
2Haben Sie alles, was Sie benötigen?
2.1Visual Studio Code
Kommentare im JSDoc-Format
Erweiterungen für VS Code
2.2Google Chrome
2.3Paketverwaltung mit Node.js und NPM
JavaScript ohne Browser
Node.js und NPM installieren
Listing 2–1
Node.js mithilfe von Homebrew installieren
Listing 2–2
Versionsnummer von Node.js und NPM ausgeben
NPM-Pakete installieren
Listing 2–3
NPM-Pakete lokal installieren
Listing 2–4
NPM-Pakete global installieren
Tipp: Windows-Build-Tools installieren
Zusammenfassung
2.4Codebeispiele in diesem Buch
Listing 2–5
Beispielprojekt als Komplettpaket klonen
Listing 2–6
Beispielprojekt in verschiedenen Stadien klonen
Listing 2–7
Alle weiteren Codebeispiele klonen
Страница 52
Страница 53
4Einführung in TypeScript
4.1Was ist TypeScript und wie setzen wir es ein?
Verwirrung um die ECMAScript-Versionen
4.2Variablen: const, let und var
Die schmerzhafte var-heit
Blockgebundene Variablen mit let
Konstanten mit const
const, let, var – wann nutze ich welche?
4.3Die wichtigsten Basistypen
Primitive Typen: Zahlen, Zeichenketten und boolesche Werte
Typisierte Arrays
Listing 4–1
JavaScript-Array mit unterschiedlichen Typen
Beliebige Werte mit any und unknown
4.4Klassen
Listing 4–2
Deklaration einer Klasse
Eigenschaften/Propertys
Listing 4–3
Eigenschaften einer Klasse
Methoden
Rückgabetyp void
Listing 4–4
Methoden ohne Rückgabewert
Getter und Setter
Listing 4–5
Klasse mit Getter- und Setter-Methoden
Konstruktoren
Listing 4–6
Klasse mit Konstruktor
Listing 4–7
Konstruktor – vereinfachte Initialisierung von Eigenschaften
Einschränkung: Nur ein Konstruktor pro Klasse
Vererbung
Listing 4–8
Vererbung
4.5Interfaces
Interface für Klassen
4.6Template-Strings
Listing 4–9
Template-String mit eingebetteten Ausdrücken
4.7Arrow-Funktionen/Lambda-Ausdrücke
Listing 4–10
Herkömmliche Callback-Funktion
Listing 4–11
Zusätzlicher Code durch die Verwendung herkömmlicher Callback-Funktionen
Listing 4–12
Vereinfachung: Arrow Functions werden im Kontext der jeweiligen Klasse ausgeführt
.
4.8Spread-Operator und Rest-Syntax
Spread-Operator vs. Spread-Syntax
Objekteigenschaften kopieren
Klasseninstanzen können nicht geklont werden
Array-Elemente kopieren
Funktionsargumente übergeben
Rest-Syntax: Funktionsargumente empfangen
4.9Union Types
4.10Destrukturierende Zuweisungen
4.11Decorators
4.12Optional Chaining
4.13Nullish Coalescing
Zusammenfassung
Страница 99
5Projekt- und Prozessvorstellung
5.1Unser Projekt: BookMonkey
Storys
Skizzen
5.2Projekt mit Angular CLI initialisieren
Listing 5–1
Ein neues Projekt für den BookMonkey anlegen
NPM: Warnungen und Hinweise zu Sicherheitslücken
Listing 5–2
In das Projekt navigieren
Datei nicht gefunden?
angular.json
package-lock.json
package.json
Tipp: TSLint für Visual Studio Code
Der Inhalt des src-Ordners
Die Einstiegsseite index.html
Listing 5–3
Die Datei
index.html
des BookMonkeyProjekts
Bootstrapping der Anwendung
Listing 5–4
Das zentrale
AppModule
unserer Anwendung
(app.module.ts)
Listing 5–5
Bootstrapping der BookMonkey-App
(main.ts)
Den Webserver starten
Listing 5–6
Den Webserver starten
5.3Style-Framework Semantic UI einbinden
Listing 5–7
Semantic UI über NPM installieren
Listing 5–8
Globales CSS in die Anwendung einbinden
Alternative: Styles mit CSS-Imports einbinden
Listing 5–9
Den Loader aus Semantic UI nutzen (
index.html
)
6Komponenten & Template-Syntax: Iteration I
6.1Komponenten: die Grundbausteine der Anwendung
6.1.1Komponenten
Was ist ein Decorator?
Listing 6–1
Eine simple Komponente
Was ist ein CSS-Selektor?
Listing 6–2
Erzeugtes Markup für die Komponente
MyComponent
Das Template einer Komponente
Listing 6–3
Template einer Komponente definieren
Der Style einer Komponente
Ein Blick ins Innere: View Encapsulation
Listing 6–4
Style-Definitionen in Komponenten
6.1.2Komponenten in der Anwendung verwenden
Listing 6–5
Alle Komponenten müssen im
AppModule
deklariert werden
.
6.1.3Template-Syntax
{{ Interpolation }}
Der Safe-Navigation-Operator ?
[Property Bindings]
Eselsbrücke
(Event Bindings)
Eselsbrücke
[(Two-Way Bindings)]
Eselsbrücke
#Elementreferenzen
Direktiven
*Strukturdirektiven
Listing 6–6
ngIf
verwenden
Listing 6–7
ngFor
verwenden
Listing 6–8
Erzeugtes Markup für
Listing 6–7
Listing 6–9
ngFor
mit Hilfsvariablen
Listing 6–10
Erzeugte Ausgabe für
Listing 6–9
Listing 6–11
Einsatz von
ngSwitch
[Attributdirektiven]
Merke: Eckige Klammern
→
Ausdruck
| Pipes
Ist das alles gültiges HTML?
Zusammenfassung
6.1.4Den BookMonkey erstellen
Story – Listenansicht
Klasse oder Interface für die Datenmodelle?
Interfaces für die Datenmodelle anlegen
Listing 6–12
Interface
Book
anlegen mit der Angular CLI
Listing 6–13
Das Interface
Book (book.ts)
Eine Komponente für die Buchliste
Listing 6–14
Komponente
BookListComponent
mit der Angular CLI anlegen
Namenskonventionen in Angular – dashed-case vs. CamelCase
Listing 6–15
Das Template der
BookListComponent (book-list.component.html)
Listing 6–16
BookListComponent (book-list.component.ts)
ngOnInit() statt Konstruktor – die Lifecycle-Hooks von Angular
Listenkomponente in die Anwendung einbinden
Listing 6–17
Template der Hauptkomponente
AppComponent (
app.component.html
)
Ein Präfix verwenden
Was haben wir gelernt?
Defekte Unit-Tests
6.2Property Bindings: mit Komponenten kommunizieren
6.2.1Komponenten verschachteln
6.2.2Eingehender Datenfluss mit Property Bindings
Listing 6–18
DOM-Eigenschaften mit JavaScript schreiben
Listing 6–19
HTML-Element mit Attributen
Propertys, Propertys, Propertys, …
6.2.3Andere Arten von Property Bindings
Attribute Bindings
Listing 6–20
Attribute Binding
Class Bindings
Listing 6–21
Class Binding
Listing 6–22
Mehrere CSS-Klassen setzen mit der Direktive
ngClass
Listing 6–23
Mehrere CSS-Klassen setzen mit Class Bindings
Style Bindings
Listing 6–24
Ansatz zum Setzen von CSS-Eigenschaften (funktioniert nicht)
Listing 6–25
Style Binding
Listing 6–26
Die Direktive
ngStyle
verwenden
6.2.4DOM-Propertys in Komponenten auslesen
Listing 6–27
Property Binding auf dem Host-Element einer Komponente
Listing 6–28
Propertys auslesen mit dem
@Input()
-Decorator
Listing 6–29
Input-Propertys umbenennen
6.2.5Den BookMonkey erweitern
Refactoring – Property Bindings
Listing 6–30
Template-Struktur der Buchliste
Listing 6–31
Komponente
BookListItem
mit der Angular CLI anlegen
Listing 6–32
Template der Komponente
BookListComponent (book-list.component.html)
Listing 6–33
Komponente
BookListItemComponent (book-list-item.component.ts)
Listing 6–34
Template der Komponente
BookListItemComponent (
book-list-item.component.html
)
Was haben wir gelernt?
6.3Event Bindings: auf Ereignisse in Komponenten reagieren
Listing 6–35
Event Binding
6.3.1Native DOM-Events
Listing 6–36
Event Handler in JavaScript
Listing 6–37
Event Bindings in Angular
Listing 6–38
Event-Payload übergeben (JavaScript)
Listing 6–39
Event-Payload übergeben (Angular)
Warum die Angular-Syntax verwenden?
6.3.2Eigene Events definieren
Listing 6–40
Eigene Events für eine Komponente definieren
Listing 6–41
Eigenes Event abonnieren mit Event Binding
Listing 6–42
Payload an die Handler-Methode übergeben
6.3.3Den BookMonkey erweitern
Story – Event Bindings
Komponente für die Detailansicht anlegen
Listing 6–43
Komponente
BookDetailsComponent
mit der Angular CLI anlegen
Datenfluss in der AppComponent
Listing 6–44
AppComponent (app.component.ts)
Meldung: Expected call-signature to have a typedef
Listing 6–45
Template der
AppComponent (
app.component.html
)
Event aus der BookListComponent werfen
Listing 6–46
Ausschnitt aus der Komponente
BookListComponent (book-list.component.ts)
Listing 6–47
Template der
BookListComponent (book-list.component.html)
Detailansicht implementieren
Listing 6–48
BookDetails-Component (book-details.component.ts)
Listing 6–49
Template der
BookDetails-Component (
book-details.component.html
)
Der <ng-container>
Code Review
Was haben wir gelernt?
7Powertipp: Styleguide
{buyButton}
Подняться наверх