Launch Yourself Into the Angular 2 and TypeScript Space Kurt Wiersma @kwiersma
About Me Software Development Leader/Manager From Minneapolis, MN Over 15 years of development Favs: Python, Typescript, C#
Agenda TypeScript Intro Mapping Concepts from Angular 1 to 2 Bootstrapping and Module Loading Components, Services, and Routing Template Syntax
TypeScript
Typescript Intro http://typescriptlang.org TypeScript lets you write JavaScript the way you really want to. TypeScript is a typed superset of JavaScript that compiles to plain JavaScript. Any browser. Any host. Any OS. Open Source. AngularJS 2 is implemented in TypeScript
JavaScript is Valid TypeScript
TypeScript Syntax
Features Classes Modules Interfaces Generics Arrow Functions Better “this” Imports Type Definitions
Getting Started Install: npm install -g typescript Compile: tsc tsconfig.json Typings manages type definitions
Mapping Concepts From Angular 1 to 2
Angular 1 to 2 Angular 1.x Angular 2.x ES5 TypeScript Controllers Components Filters Pipes ng-app bootstrap ng-class [ngClass] ng-click (click) ng-if *ngIf
Angular 1 to 2 Angular 1.x Angular 2.x ng-model [( ngModel )] ng-repeat *ngFor ng-show [hidden] Promises Observables https://angular.io/docs/ts/latest/cookbook/a1-a2-quick- reference.html
Angular App Architecture
Getting Started
Angular CLI npm install -g angular-cli ng new my-ng2-project ng serve Watches, compiles, and serves ng generate component my-component
Bootstrapping index.html app.ts
Components
Draft System Demo
Component Layout Navbar Component App Component Router Outlet (Draft Component, Fantasy Teams Component)
Component Anatomy
Component Lifecycle 1. OnChanges - runs first and when a data bound input property value changes 2. OnInit - after the first OnChanges 3. DoCheck - during every Angular change detection cycle 4. AfterViewInit - after init of the component’s views and child views 5. OnDestroy - just before Angular destroys the component
Lifecycle Example
Component Input draft.component.html DraftOrderComponent.ts
Events PlayerFilterComponent
Events
Dependency Injection
Routing
Routing Demo
Routing
Linking To A Route
Services
Template Syntax
Template Syntax On way data binding: <h1>{{ player.name }}</h1> Event binding: <a (click)=handleClick()>Details</a>
Two Data Binding BenNadel.com
Two Way Binding Two-way data binding: <input type=“text” [(ngModel)]=“player.name” />
DOM Binding <button [disabled]="isUnchanged">Save</button>
Structural Directives
Resources angular.io Angular 2 Style Guide https://angular.io/docs/ts/latest/guide/style-guide.html Dan Walhin’s Starter App https://github.com/DanWahlin/Angular2-JumpStart John Papa’s Angular 2 Course https://app.pluralsight.com/library/courses/angular-2- first-look ng-book 2
Questions? github.com/kwiersma/djleague-ng2 @kwiersma

Launch Yourself into The AngularJS 2 And TypeScript Space