64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			64 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
| // #docplaster
 | |
| // #docregion on-init
 | |
| import {OnInit} from 'angular2/core';
 | |
| 
 | |
| // #enddocregion on-init
 | |
| import {Component} from 'angular2/core';
 | |
| import {Hero} from './hero';
 | |
| import {HeroDetailComponent} from './hero-detail.component';
 | |
| // #docregion hero-service-import
 | |
| import {HeroService} from './hero.service.1';
 | |
| // #enddocregion hero-service-import
 | |
| 
 | |
| // Testable but never shown
 | |
| @Component({
 | |
|   selector: 'my-app',
 | |
|   template: `
 | |
|   <div *ngFor="#hero of heroes" (click)="onSelect(hero)">
 | |
|     {{hero.name}}
 | |
|   </div>
 | |
|   <my-hero-detail [hero]="selectedHero"></my-hero-detail>
 | |
|   `,
 | |
|   directives: [HeroDetailComponent],
 | |
|   // #docregion providers
 | |
|   providers: [HeroService]
 | |
|   // #enddocregion providers
 | |
| })
 | |
| // #docregion on-init
 | |
| export class AppComponent implements OnInit {
 | |
|   // #enddocregion on-init
 | |
|   public title = 'Tour of Heroes';
 | |
|   // #docregion heroes-prop
 | |
|   public heroes: Hero[];
 | |
|   // #enddocregion heroes-prop
 | |
|   public selectedHero: Hero;
 | |
| 
 | |
|   // #docregion new-service
 | |
|   heroService = new HeroService(); // don't do this
 | |
|   // #enddocregion new-service
 | |
|   // #docregion ctor
 | |
|   constructor(private _heroService: HeroService) { }
 | |
|   // #enddocregion ctor
 | |
|   // #docregion getHeroes
 | |
|   getHeroes() {
 | |
|     //#docregion get-heroes
 | |
|     this.heroes = this._heroService.getHeroes();
 | |
|     // #enddocregion get-heroes
 | |
|   }
 | |
|   // #enddocregion getHeroes
 | |
| 
 | |
|   // #docregion ng-on-init
 | |
|   // #docregion on-init
 | |
|   ngOnInit() {
 | |
|     // #enddocregion on-init
 | |
|     this.getHeroes();
 | |
|     // #docregion on-init
 | |
|   }
 | |
|   // #enddocregion on-init
 | |
|   // #enddocregion ng-on-init
 | |
| 
 | |
|   onSelect(hero: Hero) { this.selectedHero = hero; }
 | |
|   // #docregion on-init
 | |
| }
 | |
| // #enddocregion on-init
 |