【发布时间】:2017-05-10 07:49:28
【问题描述】:
app.component.ts 文件
import { Component, OnInit } from '@angular/core';
import { Hero } from './hero';
import { HeroService } from './hero.service';
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
providers: [HeroService]
})
export class AppComponent 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();
};
onSelect(hero: Hero): void{
this.selectedHero = hero;
};
}
hero.service.ts
import { Injectable } from '@angular/core';
import { Hero } from './hero';
import { HEROES } from './mock-heroes';
@Injectable()
export class HeroService {
getHeroes(): Promise<Hero[]> {
return Promise.resolve(HEROES);
}
}
如何解决这个错误?
【问题讨论】:
-
你能在你的服务中显示
getHeroes方法吗? -
猜你返回的是
Hero[],应该是Promise<Hero[]>,而不是heroService.getHeroes()。 -
hero.service.ts 文件导入 { Injectable } from '@angular/core';从'./hero'导入{英雄};从'./mock-heroes'导入{英雄}; @Injectable() 导出类 HeroService { getHeroes(): Promise
{ return Promise.resolve(HEROES); } } -
您应该使用该代码编辑您的初始问题
标签: angularjs angular typescript