14
ROUTING TO COMPONENTS / Chris Caplinger @unicode_snowman

Routing to components

Embed Size (px)

Citation preview

Page 1: Routing to components

ROUTING TOCOMPONENTS

/ Chris Caplinger @unicode_snowman

Page 2: Routing to components

COMPONENT OVERVIEWComponents Vs. Directives ?

Page 3: Routing to components

Directive + Template === Component

Page 4: Routing to components

class Component extends Directive { ... }

Page 5: Routing to components

import { ComponentAnnotation as Component, ViewAnnotation as View, bootstrap } from import { NgFor } from 'angular2/directives'

@Component({ selector: 'things'})@View({ template: ̀<div> <h5>A LIST OF THINGS!!!</h5> <ul> <li *ng-for="#thing of things; #i = index" (click)="onClickItem(thing)" {{thing}} </li> </ul> </div>̀,

Page 6: Routing to components

import { bootstrap } from 'angular2/angular2';...bootstrap(Things)...<things>

</things>

Page 7: Routing to components

APP ARCHITECTURE / ROUTING

Page 8: Routing to components
Page 9: Routing to components

$stateProvider .state('report',{ views: { 'filters': { templateUrl: 'report-filters.html', controller: function(){ ... filters view controller ... } }, 'tabledata': { templateUrl: 'report-table.html', controller: function(){ ... tabledata view controller ... } }, 'graph': { templateUrl: 'report-graph.html', controller: function(){ ... graph view controller ... } } }

Page 10: Routing to components

COMPONENT ROUTER

Page 11: Routing to components

AppController.$routeConfig = [ { path: '/report', components: { filters: 'filters', tableData: 'tableData']...<div class="container"> <div ng-outlet="filters"></div> <div ng-outlet="tableData"></div> <div ng-outlet="graph"></div></div>

@Component({ selector: 'app' })@View({ template: ̀ <div class="container"> <router-outlet name="filters"></router-outlet> <router-outlet name="tableData"></router-outlet> <router-outlet name="graph"></router-outlet> </div> ̀, directives: [RouterOutlet]})@RouteConfig([ { path: '/report', components: { filters: Filters, tableData: TableData])class App { }

Page 12: Routing to components
Page 13: Routing to components

ANGULAR 1 => ANGULAR 2 MIGRATION

Page 14: Routing to components

QUESTIONS?