50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			50 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
// #docplaster
 | 
						|
// #docregion
 | 
						|
import {Component} from 'angular2/core';
 | 
						|
import {RouteConfig, ROUTER_DIRECTIVES} from 'angular2/router';
 | 
						|
 | 
						|
import {CrisisCenterComponent} from './crisis-center/crisis-center.component';
 | 
						|
import {HeroListComponent}     from './heroes/hero-list.component';
 | 
						|
import {HeroDetailComponent}   from './heroes/hero-detail.component';
 | 
						|
 | 
						|
import {DialogService}         from './dialog.service';
 | 
						|
import {HeroService}           from './heroes/hero.service';
 | 
						|
 | 
						|
@Component({
 | 
						|
  selector: 'my-app',
 | 
						|
// #docregion template
 | 
						|
  template: `
 | 
						|
    <h1 class="title">Component Router</h1>
 | 
						|
    <nav>
 | 
						|
      <a [routerLink]="['CrisisCenter']">Crisis Center</a>
 | 
						|
      <a [routerLink]="['Heroes']">Heroes</a>
 | 
						|
    </nav>
 | 
						|
    <router-outlet></router-outlet>
 | 
						|
  `,
 | 
						|
// #enddocregion template
 | 
						|
  providers:  [DialogService, HeroService],
 | 
						|
  directives: [ROUTER_DIRECTIVES]
 | 
						|
})
 | 
						|
// #docregion route-config
 | 
						|
@RouteConfig([
 | 
						|
 | 
						|
  // #docregion route-config-cc
 | 
						|
  { // Crisis Center child route
 | 
						|
    path: '/crisis-center/...',
 | 
						|
    name: 'CrisisCenter',
 | 
						|
    component: CrisisCenterComponent,
 | 
						|
    useAsDefault: true
 | 
						|
  },
 | 
						|
  // #enddocregion route-config-cc
 | 
						|
 | 
						|
  {path: '/heroes',   name: 'Heroes',     component: HeroListComponent},
 | 
						|
  {path: '/hero/:id', name: 'HeroDetail', component: HeroDetailComponent},
 | 
						|
  // #enddocregion route-config
 | 
						|
  // #docregion asteroid-route
 | 
						|
  {path: '/disaster', name: 'Asteroid', redirectTo: ['CrisisCenter', 'CrisisDetail', {id:3}]}
 | 
						|
   // #enddocregion asteroid-route
 | 
						|
   // #docregion route-config
 | 
						|
])
 | 
						|
// #enddocregion route-config
 | 
						|
export class AppComponent { }
 |