--
# Objekte
---
# Angular 2
* RIP
* $scope
* HTML template syntax
* Dirty checking
* Controllers
* angular.module
* jqLite
* Interceptoren
* Welcome
* Object.observe hybrid
* ECMAScript 6 / TypeScript
* Komponenten
* @ngModule
* Reactive Programmierung (RxJs)
* Hello Again
* Services
* Directives
* Dependency Injection MVC
--
# Warum die Änderungen?
* Browserentwicklung
* ECMAScript 6
* Web Components
* Performance
* Mobile
* Wartbarkeit/Refactoring
--
# Konzepte
* Angular 2 nicht beschränkt auf (Web-)Browser
* Server-Implementierung
* Webbrowser
* Einfach zu lernen und zu nutzen
* Migration von AngularJS 1.x möglich
* Architekturkonzepte
* Wiederverwendbare Komponenten
* Module
* Routing
* Pipes
* Properties
--
# Komponenten
```typescript
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: `
Hello my name is {{name}}.
`
})
export class MyComponent {
constructor() {
this.name = 'Max'
}
sayMyName() {
console.log('My name is', this.name)
}
}
```
* ES6-Template Syntax
--
# Template bindings
* {{ }} - interpolation
* [] - property binding
* () for event binding
* # for variable declaration
* * for structural directives
--
# Beispiel
```javascript
// event handling