2017-12-05 7 views
0

Ich kann meinen Code nicht kompilieren, die ich mehrmals mit der endgültigen Code-Review verglichen haben, kopieren & Paste ...Angular Held Tutorial - Routing - Dezember 2017 - Fehler Kompilieren

https://angular.io/tutorial/toh-pt5

aber ich bekomme immer noch den Fehler

$ ERROR in C:/Users/pablues/Documents/angular-tutorial/a-t-h/src/app/heroes/heroes.component.ts (21,22): Property 'getHeroes' does not exist on type 'HeroService'. ERROR in C:/Users/pablues/Documents/angular-tutorial/a-t-h/src/app/dashboard/dashboard.component.ts (20,22): Property 'getHeroes' does not exist on type 'HeroService'.

https://github.com/pablues/tour-of-heroes/blob/master/src/app/heroes/heroes.component.ts

https://github.com/pablues/tour-of-heroes/blob/master/src/app/dashboard/dashboard.component.ts

https://github.com/pablues/tour-of-heroes/blob/master/src/app/hero.service.ts

ich es nicht herausfinden kann, wo das Problem jetzt ist.

Thx im Voraus

+0

Ihr Code sieht gut aus, wenn Sie die Fehlermeldung erhalten? – Niladri

+0

sobald ich über 'ng serve' kompiliere – Pablues

Antwort

0

Ich kann nicht einen Fehler in HeroComponent oder DashboardComponent sehen, aber es gibt ein Problem in HeroDetailComponent.

Im Folgenden finden Sie Ihr HeroService

@Injectable() 
export class HeroService { 

    constructor(private messageService: MessageService) { } 

    getHeroes(): Observable<Hero[]> { 
    // Todo: send the message _after_ fetching the heroes 
    this.messageService.add('HeroService: fetched heroes'); 
    return of(HEROES); 
    } 
} 

Und unten ist Ihr HeroDetailComponent

@Component({ 
    selector: 'app-hero-detail', 
    templateUrl: './hero-detail.component.html', 
    styleUrls: [ './hero-detail.component.css' ] 
}) 
export class HeroDetailComponent implements OnInit { 
    @Input() hero: Hero; 

    constructor(
    private route: ActivatedRoute, 
    private heroService: HeroService, 
    private location: Location 
) {} 

    ngOnInit(): void { 
    this.getHero(); 
    } 

    getHero(): void { 
    const id = +this.route.snapshot.paramMap.get('id'); 
    this.heroService.getHero(id) 
     .subscribe(hero => this.hero = hero); 
    } 

    goBack(): void { 
    this.location.back(); 
    } 
} 

Oben, getHero (id) ist in Ihrem HeroService fehlt.

this.heroService.getHero(id).subscribe(hero => this.hero = hero); 
+0

Vielen Dank für Ihre Hilfe! Problem gelöst. Musste folgendes zu hero.service.ts hinzufügen 'getHero (id: number): Observable { // Todo: sende die Nachricht _after_ hole den Helden this.messageService.add (' HeroService: hergeholt hero id = $ { id} '); Rückkehr von (HEROES.find (Held => hero.id === id)); } ' – Pablues