5: Add In-app Navigation
[examples/angular-tour-of-heroes] / src / app / hero.service.ts
index a59d76b..9003fe1 100644 (file)
@@ -2,6 +2,7 @@ import { Injectable } from '@angular/core';
 import { Observable, of } from 'rxjs';
 import { Hero } from './hero';
 import { HEROES } from './mock-heroes';
+import { MessageService } from './message.service';
 
 
 @Injectable({
@@ -9,9 +10,15 @@ import { HEROES } from './mock-heroes';
 })
 export class HeroService {
 
-  constructor() { }
+  constructor(private messageService : MessageService) { }
 
   getHeroes() : Observable<Hero[]> {
+    this.messageService.add('HeroService: fetching heroes...');
     return of(HEROES);
   }
+
+  getHero(id: number): Observable<Hero> {
+    this.messageService.add(`HeroService: fetched hero id=${id}`);
+    return of(HEROES.find(hero => hero.id === id));
+  }
 }