50 lines
1.3 KiB
TypeScript
50 lines
1.3 KiB
TypeScript
// #docplaster
|
|
// #docregion
|
|
import { Component, OnInit } from 'angular2/core';
|
|
import { Router } from 'angular2/router';
|
|
|
|
import { Hero } from './hero';
|
|
import { HeroDetailComponent } from './hero-detail.component';
|
|
import { HeroService } from './hero.service';
|
|
|
|
// #docregion metadata
|
|
// #docregion heroes-component-renaming
|
|
@Component({
|
|
selector: 'my-heroes',
|
|
// #enddocregion heroes-component-renaming
|
|
templateUrl: 'app/heroes.component.html',
|
|
styleUrls: ['app/heroes.component.css'],
|
|
directives: [HeroDetailComponent]
|
|
// #docregion heroes-component-renaming
|
|
})
|
|
// #enddocregion heroes-component-renaming
|
|
// #enddocregion metadata
|
|
// #docregion class
|
|
// #docregion heroes-component-renaming
|
|
export class HeroesComponent implements OnInit {
|
|
// #enddocregion heroes-component-renaming
|
|
heroes: Hero[];
|
|
selectedHero: Hero;
|
|
|
|
constructor(
|
|
private _router: Router,
|
|
private _heroService: HeroService) { }
|
|
|
|
getHeroes() {
|
|
this._heroService.getHeroes().then(heroes => this.heroes = heroes);
|
|
}
|
|
|
|
ngOnInit() {
|
|
this.getHeroes();
|
|
}
|
|
|
|
onSelect(hero: Hero) { this.selectedHero = hero; }
|
|
|
|
gotoDetail() {
|
|
this._router.navigate(['HeroDetail', { id: this.selectedHero.id }]);
|
|
}
|
|
// #docregion heroes-component-renaming
|
|
}
|
|
// #enddocregion heroes-component-renaming
|
|
// #enddocregion class
|
|
// #enddocregion
|