intro to ui-router/typescript

24
INTRO TO UI-ROUTER + TYPESCRIPT Jamal O’Garro Software Engineer INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

Upload: jamal-ogarro

Post on 11-Aug-2015

140 views

Category:

Technology


1 download

TRANSCRIPT

INTRO TO UI-ROUTER + TYPESCRIPT

Jamal O’Garro Software Engineer

INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

TALK I: UI-ROUTER

INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

WHAT IS UI-ROUTER?

• Routing framework for AngularJS

• Fully replaces the default Angular router

• Created by AngularUI team (UI-Bootstrap, NG-Grid, etc.)

INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Multiple Views

• State Machine

• Nested Views

WHY USE UI-ROUTER?INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• (Old) Angular router only allowed single views

• Forced the use of partials to simulate multiple views

• UI-Router allows multiple views

• Each view can have it’s own controller

MULTIPLE VIEWSINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Uses state machine design pattern

• Routes are states and URLs are state properties

STATE MACHINEINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Provides more flexibility when building an app

• Allows for more modular code

• Helps you build apps quicker

NESTED VIEWSINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Must have a unique name

• Must have a template

• Controllers are optional

• URLs are optional

HOW DO WE DEFINE STATE?INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Directive that tells $state where templates go

• Renders the view associated with a given state

• Kind of like ng-view but not really . . .

UI-VIEWINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• binds anchor tag to a specific state

UI-SREFINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Parent state must exist

• No two states can have the same name

• When a child state is active so is the parent

• Child states load their templates into the paren’t ui-view directive

• Inherit resolved dependencies and data properties

• Controllers, templates, URLs are not inherited

NESTED STATESINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

MULTIPLE NAMED VIEWS

• Views object - allows us to add several views, templates and controllers to a given state

INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

LET’S LOOK AT SOME CODE!INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

TALK II: TYPESCRIPT

INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Superset of JavaScript

• JavaScript w/ Strong Typing + Other features

• Made by Microsoft

• Will be supported in Angular 2.0

WHAT IS TYPESCRIPT?INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

HOW DOES IT LOOK?INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

v

STRONG TYPINGINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

v

CLASSESINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

v

INHERITANCEINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

v

MODULESINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

v

INTERFACESINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

v

• typescriptlang.org

• NPM install -g typescript

• Visual Studio / Webstorm / Sublime

HOW TO GET STARTEDINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

• Gulp

• Official TypeScript Handbook

• Official TypeScript Tutorial

• TypeScript Playground

RESOURCESINTRO TO ANGULAR UI-ROUTER + TYPESCRIPT

THANK YOU!

Jamal O’Garro Software Engineer

INTRO TO ANGULAR UI-ROUTER + TYPESCRIPT