| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  | // #docplaster
 | 
					
						
							|  |  |  | // #docregion on-init
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { OnInit } from '@angular/core'; | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | // #enddocregion on-init
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { Component } from '@angular/core'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | import { Hero } from './hero'; | 
					
						
							|  |  |  | import { HeroDetailComponent } from './hero-detail.component'; | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  | // #docregion hero-service-import
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  | import { HeroService } from './hero.service.1'; | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  | // #enddocregion hero-service-import
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Testable but never shown
 | 
					
						
							|  |  |  | @Component({ | 
					
						
							|  |  |  |   selector: 'my-app', | 
					
						
							|  |  |  |   template: `
 | 
					
						
							| 
									
										
										
										
											2016-04-29 01:36:35 +01:00
										 |  |  |   <div *ngFor="let hero of heroes" (click)="onSelect(hero)"> | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |     {{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
 | 
					
						
							| 
									
										
										
										
											2015-12-23 09:42:57 -08:00
										 |  |  |   title = 'Tour of Heroes'; | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |   // #docregion heroes-prop
 | 
					
						
							| 
									
										
										
										
											2015-12-23 09:42:57 -08:00
										 |  |  |   heroes: Hero[]; | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |   // #enddocregion heroes-prop
 | 
					
						
							| 
									
										
										
										
											2015-12-23 09:42:57 -08:00
										 |  |  |   selectedHero: Hero; | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2016-07-01 05:39:39 -07:00
										 |  |  |   /* | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |   // #docregion new-service
 | 
					
						
							|  |  |  |   heroService = new HeroService(); // don't do this
 | 
					
						
							|  |  |  |   // #enddocregion new-service
 | 
					
						
							| 
									
										
										
										
											2016-07-01 05:39:39 -07:00
										 |  |  |   */ | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |   // #docregion ctor
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  |   constructor(private heroService: HeroService) { } | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |   // #enddocregion ctor
 | 
					
						
							|  |  |  |   // #docregion getHeroes
 | 
					
						
							|  |  |  |   getHeroes() { | 
					
						
							| 
									
										
										
										
											2016-06-08 01:06:25 +02:00
										 |  |  |     // #docregion get-heroes
 | 
					
						
							| 
									
										
										
										
											2016-05-03 14:06:32 +02:00
										 |  |  |     this.heroes = this.heroService.getHeroes(); | 
					
						
							| 
									
										
										
										
											2015-12-16 21:47:02 -05:00
										 |  |  |     // #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
 | 
					
						
							|  |  |  | } |