8e3e0834b5
closes #619 & #626
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 { }
|