Angular 2: Custom Components

Angular 2: Custom Components explaint by an example Talk von BASTA Spring 2016 Mehr Infos und Links zum Quellcode: www.softwarearchitekt.at

1
Wiederverwendbare
JavaScript-Komponenten mit Angular 2.0
Deep Dive
Manfred Steyer
Buch-Projekte
Page  2
2
Ziele
Möglichkeiten zum Entwickeln eigener
Komponenten in Angular 2 kennen lernen
Fokus auf Konzepte
Nicht: Allgemeine Angular-2-Einführung
Page  3
Inhalt
Angular 2
Erste Schritte: Bindings
Kommunikation zwischen Direktiven
Life-Cycle-Hooks
Two-Way-Binding
Zusammenfassung
Page  4
3
Didaktik
Folien
Viel Live-Coding
Page  5
ANGULAR 2
Page  8
4
Was ist Angular 2
SPA-
Framework
Moderne
Apps
Nachfolger
von
AngularJS
Große
Community
BETA
Stabiler
Kern
Page  9
Technische Eigenschaften
Performance Komponenten TypeScript/ ES6
Modularisierung
Flexibles
Rendering
Testbarkeit
Datenbindung
Page  10
5
KOMPONENTEN VS.
DIREKTIVEN
Page  11
Direktiven und Komponenten
Page  12
• Verhalten für Elemente
• CSS-SelektorDirektiven
• Direktiven mit Template
• Kann weitere Direktiven
und Komponenten nutzen
Komponenten
• Offener Standard
• Unterstützung durch
Angular 2 geplant
Web-
Components
6
DEMO-KOMPONENTE
Page  13
"Im Kleinen verstehen; im Großen
anwenden"
Page  14
[Robert Sedgewick]
7
Option-Box und Option-Item
Page  15
App-Component (View)
Page  17
<h1>{{title}}</h1>
[…]
<option-item
[selected]="true"
[value]="1"
(change)="change($event)">
Per Express
</option-item>
[…]
8
Option-Item (Controller)
Page  18
@Component({
selector: 'option-item',
templateUrl: 'option-item.html',
styleUrls: ['app/option-item/option-item.css']
})
export class OptionItem {
@Input() selected: boolean;
@Input() value: string;
@Output() change: EventEmitter = new EventEmitter();
select() { […] }
}
DEMO
Page  22
9
KOMMUNIKATION
ZWISCHEN DIREKTIVEN
Page  23
Option-Box
Page  24
<option-box [value]="[…]">
<option-item […]>Per Express</option-item>
<option-item […]>Per Einschreiben</option-item>
</option-box>
Content von option-box
10
Lifecycle-Hooks (Auszug)
Page  25
OnInit ngOnInit
OnDestroy ngOnDestroy
OnChanges ngOnChanges
AfterContentInit ngAfterContentInit
DEMO
Page  26
11
LIFECYCLE-HOOKS
Page  27
DEMO
Page  29
12
TWO-WAY-BINDING
Page  30
Syntax-Zucker
Page  31
<option-box [value]="value"
(valueChange)="setValue($event)">
[…]
</option-box>
<option-box [(value)]="value">
[…]
</option-box>
<option-box [value]="value"
(valueChange)="value = $event">
[…]
</option-box>
13
DEMO
Page  32
Zusammenfassung
 Angular 2 ist komponenten-orientiert
 ES6-Klassen, IntelliSense/Typing mit TypeScript
 Property-Bindings
 Event-Bindings
 Two-Way-Binding =
Property- + Event-Binding + Syntax-Zucker
 Content-Projection
 Kommunikation mit ContentChildren
 Life-Cycle-Hooks
14
manfred.steyer@SOFTWAREarchitekt.at
SOFTWAREarchitekt.at
ManfredSteyer
Contact

Recomendados

Angular 2 Components por
Angular 2 ComponentsAngular 2 Components
Angular 2 ComponentsManfred Steyer
1.2K vistas16 diapositivas
Wiederverwendbare Komponenten mit Angular 2.0 – Deep Dive por
Wiederverwendbare Komponenten mit Angular 2.0 – Deep DiveWiederverwendbare Komponenten mit Angular 2.0 – Deep Dive
Wiederverwendbare Komponenten mit Angular 2.0 – Deep DiveManfred Steyer
614 vistas13 diapositivas
Angular 2 Slides por
Angular 2 SlidesAngular 2 Slides
Angular 2 SlidesManfred Steyer
1.3K vistas54 diapositivas
Die besten 10 JavaScript Frameworks für moderne Web-Apps por
Die besten 10 JavaScript Frameworks für moderne Web-AppsDie besten 10 JavaScript Frameworks für moderne Web-Apps
Die besten 10 JavaScript Frameworks für moderne Web-AppsDieter Ziegler
67 vistas9 diapositivas
космонавтика por
космонавтикакосмонавтика
космонавтикаpromoreal
172 vistas11 diapositivas
Hormairudiak por
HormairudiakHormairudiak
Hormairudiakaneitu
452 vistas20 diapositivas

Más contenido relacionado

Similar a Angular 2: Custom Components

Angular 2: Neuerungen und Migration por
Angular 2: Neuerungen und MigrationAngular 2: Neuerungen und Migration
Angular 2: Neuerungen und MigrationManfred Steyer
1.4K vistas13 diapositivas
.NET Summit 2016 München: Angular 2 mit TypeScript por
.NET Summit 2016 München: Angular 2 mit TypeScript.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScriptManfred Steyer
375 vistas8 diapositivas
AngularJs por
AngularJsAngularJs
AngularJsNETUserGroupBern
11 vistas19 diapositivas
Angular 2 Workshop November 2015 von der w-jax 2015 por
Angular 2 Workshop November 2015 von der w-jax 2015Angular 2 Workshop November 2015 von der w-jax 2015
Angular 2 Workshop November 2015 von der w-jax 2015Manfred Steyer
1.1K vistas31 diapositivas
Angular 2 Workshop Oktober 2015 por
Angular 2 Workshop Oktober 2015Angular 2 Workshop Oktober 2015
Angular 2 Workshop Oktober 2015Manfred Steyer
1.3K vistas31 diapositivas
Angular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen por
Angular 2.0: Architektur und Konzepte für moderne JavaScript-AnwendungenAngular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen
Angular 2.0: Architektur und Konzepte für moderne JavaScript-AnwendungenManfred Steyer
1.6K vistas21 diapositivas

Similar a Angular 2: Custom Components(20)

Angular 2: Neuerungen und Migration por Manfred Steyer
Angular 2: Neuerungen und MigrationAngular 2: Neuerungen und Migration
Angular 2: Neuerungen und Migration
Manfred Steyer1.4K vistas
.NET Summit 2016 München: Angular 2 mit TypeScript por Manfred Steyer
.NET Summit 2016 München: Angular 2 mit TypeScript.NET Summit 2016 München: Angular 2 mit TypeScript
.NET Summit 2016 München: Angular 2 mit TypeScript
Manfred Steyer375 vistas
Angular 2 Workshop November 2015 von der w-jax 2015 por Manfred Steyer
Angular 2 Workshop November 2015 von der w-jax 2015Angular 2 Workshop November 2015 von der w-jax 2015
Angular 2 Workshop November 2015 von der w-jax 2015
Manfred Steyer1.1K vistas
Angular 2 Workshop Oktober 2015 por Manfred Steyer
Angular 2 Workshop Oktober 2015Angular 2 Workshop Oktober 2015
Angular 2 Workshop Oktober 2015
Manfred Steyer1.3K vistas
Angular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen por Manfred Steyer
Angular 2.0: Architektur und Konzepte für moderne JavaScript-AnwendungenAngular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen
Angular 2.0: Architektur und Konzepte für moderne JavaScript-Anwendungen
Manfred Steyer1.6K vistas
AngularJS por gedoplan
AngularJSAngularJS
AngularJS
gedoplan497 vistas
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick por Philipp Burgmer
Taugt AngularJS wirklich was? Erfahrungsbericht und AusblickTaugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Taugt AngularJS wirklich was? Erfahrungsbericht und Ausblick
Philipp Burgmer1.7K vistas
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework por Dieter Ziegler
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS FrameworkBeschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Beschleunigen Sie Ihre Web-Entwicklung mit AngularJS Framework
Dieter Ziegler141 vistas
Schulung jQuery JavaScript-Bibliothek por tutego
Schulung jQuery JavaScript-BibliothekSchulung jQuery JavaScript-Bibliothek
Schulung jQuery JavaScript-Bibliothek
tutego 1.3K vistas
Drupal Austria Roadshow in Klagenfurt por dasjo
Drupal Austria Roadshow in KlagenfurtDrupal Austria Roadshow in Klagenfurt
Drupal Austria Roadshow in Klagenfurt
dasjo1.4K vistas
Entwicklung eines leichtgewichtigen Web-Clients für das Lernsystem Kakadu por Georg Schmidhammer
Entwicklung eines leichtgewichtigen Web-Clients für das Lernsystem KakaduEntwicklung eines leichtgewichtigen Web-Clients für das Lernsystem Kakadu
Entwicklung eines leichtgewichtigen Web-Clients für das Lernsystem Kakadu
Georg Schmidhammer369 vistas
Progressive Web Apps mit Angular por Jens Binfet
Progressive Web Apps mit AngularProgressive Web Apps mit Angular
Progressive Web Apps mit Angular
Jens Binfet522 vistas

Más de Manfred Steyer

The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016 por
The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016
The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016Manfred Steyer
472 vistas19 diapositivas
.NET Summit 2016 in München: ASP.NET Core 1 por
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1Manfred Steyer
352 vistas26 diapositivas
Angular 2 - Routing Jax2016 por
Angular 2 - Routing Jax2016Angular 2 - Routing Jax2016
Angular 2 - Routing Jax2016Manfred Steyer
612 vistas13 diapositivas
Moderne Web-Anwendungen mit Angular 2 por
Moderne Web-Anwendungen mit Angular 2Moderne Web-Anwendungen mit Angular 2
Moderne Web-Anwendungen mit Angular 2Manfred Steyer
450 vistas10 diapositivas
Datenbasierte Services mit MVC Core 1 und EF Core 1 por
Datenbasierte Services mit MVC Core 1 und EF Core 1Datenbasierte Services mit MVC Core 1 und EF Core 1
Datenbasierte Services mit MVC Core 1 und EF Core 1Manfred Steyer
293 vistas9 diapositivas
Datengetriebene Web APIs mit Entity Framework por
Datengetriebene Web APIs mit Entity FrameworkDatengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity FrameworkManfred Steyer
465 vistas9 diapositivas

Más de Manfred Steyer(9)

The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016 por Manfred Steyer
The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016
The newst new Router for Angular 2 - Talk at @angular_berlin, July 2016
Manfred Steyer472 vistas
.NET Summit 2016 in München: ASP.NET Core 1 por Manfred Steyer
.NET Summit 2016 in München: ASP.NET Core 1.NET Summit 2016 in München: ASP.NET Core 1
.NET Summit 2016 in München: ASP.NET Core 1
Manfred Steyer352 vistas
Angular 2 - Routing Jax2016 por Manfred Steyer
Angular 2 - Routing Jax2016Angular 2 - Routing Jax2016
Angular 2 - Routing Jax2016
Manfred Steyer612 vistas
Moderne Web-Anwendungen mit Angular 2 por Manfred Steyer
Moderne Web-Anwendungen mit Angular 2Moderne Web-Anwendungen mit Angular 2
Moderne Web-Anwendungen mit Angular 2
Manfred Steyer450 vistas
Datenbasierte Services mit MVC Core 1 und EF Core 1 por Manfred Steyer
Datenbasierte Services mit MVC Core 1 und EF Core 1Datenbasierte Services mit MVC Core 1 und EF Core 1
Datenbasierte Services mit MVC Core 1 und EF Core 1
Manfred Steyer293 vistas
Datengetriebene Web APIs mit Entity Framework por Manfred Steyer
Datengetriebene Web APIs mit Entity FrameworkDatengetriebene Web APIs mit Entity Framework
Datengetriebene Web APIs mit Entity Framework
Manfred Steyer465 vistas
Web APIs mit ASP.NET Core MVC 1 por Manfred Steyer
Web APIs mit ASP.NET Core MVC 1Web APIs mit ASP.NET Core MVC 1
Web APIs mit ASP.NET Core MVC 1
Manfred Steyer501 vistas

Angular 2: Custom Components