Aktualisiert.Angular2 Fehler beim Auflösen Promise: Geben Sie 'Promise <Hero[]>' ist nicht dem Typ 'Hero []' zuweisbar
Ich folge Angular2 Tutorial von https://angular.io/docs/ts/latest/tutorial/toh-pt4.html
Hier ist der Aufruf von HeroService von heroes.component.ts,
Heroes.component.ts
import { Component , OnInit } from '@angular/core';
import { Hero } from './hero';
import { HeroService } from './hero.service';
@Component({
selector: 'my-heroes',
template: `
<h2>My Heroes</h2>
<ul class="heroes">
<li *ngFor="let hero of heroes">
<span class="badge">{{hero.id}}</span> {{hero.name}}
</li>
</ul> `,
})
export class HeroesComponent implements OnInit {
title = 'Tour of Heroes';
heroes: Hero[];
selectedHero: Hero;
constructor(private heroService : HeroService){
}
getHeroes(): void{
this.heroService.getHeroes().then(heroes => this.heroes = heroes);
}
ngOnInit(): void{
this.getHeroes();
}
}
Und getHeroes () Anruf in HeroService geschrieben
HeroService.ts
import { Injectable } from '@angular/core';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
@Injectable()
export class HeroService{
getHeroes() {
return Promise.resolve(HEROES);
}
}
ich die folgende Kompilierung Fehler:
Fehler TS2322: Typ 'Versprechen' ist nicht übertragbar 'Held []' eingeben. Eigenschaft 'Länge' fehlt im Typ 'Versprechen'.
Bitte vorschlagen.
Können Sie bitte den vollständigen 'Component' Code für wo Sie diese 2 Funktionen haben bitte anzeigen? Sie können alles ausschließen, was in diesen Codeblöcken Ihres – borislemke
auf dieser Seite des Tutorials nicht erwähnt wird, sollten Sie in den Helden-Service die Mock-Helden importieren. Hast du es richtig importiert? 'import {HEROES} aus './mock-heroes';' Und natürlich die Datei moch-heroes mit der Liste der Helden – quirimmo
definieren Kannst du die komplette Error-Zeile angeben? Es sollte eine Datei- und Zeilennummer erwähnen. Ich habe einen Verdacht, aber die Zeilennummer wird dafür sorgen. Sagen Sie uns, auf welche Zeile in Ihrer Frage die Zeilennummer im Fehler – borislemke