4: Add Services
[examples/angular-tour-of-heroes] / src / app / heroes / heroes.component.ts
index a09ff13..d8ac642 100644 (file)
@@ -1,6 +1,7 @@
 import { Component, OnInit } from '@angular/core';
 import { Hero } from '../hero';
-import { HEROES } from '../mock-heroes';
+import { HeroService } from '../hero.service';
+import { MessageService } from '../message.service';
 
 @Component({
   selector: 'app-heroes',
@@ -9,17 +10,26 @@ import { HEROES } from '../mock-heroes';
 })
 export class HeroesComponent implements OnInit {
 
-  heroes = HEROES;
+  heroes: Hero[];
 
   selectedHero : Hero;
 
   onSelect(hero : Hero): void {
     this.selectedHero = hero;
+    this.messageService.add(`HeroService: Selected hero id=${hero.id}`);
   }
 
-  constructor() { }
+  constructor(
+      private heroService : HeroService,
+      private messageService : MessageService) { }
 
   ngOnInit() {
+    this.getHeroes();
   }
 
+  getHeroes() : void {
+    this.heroService
+        .getHeroes()
+        .subscribe(heroes => this.heroes = heroes);
+  }
 }