【发布时间】:2021-08-13 02:34:35
【问题描述】:
我正在尝试修改《英雄之旅》示例。
该服务从 Hero 接口返回一个名称作为可观察对象,我正在组件中订阅它。
服务
getHeroesByName(HeroName: string=''): Observable<string>
{
this.messageService.add(HeroName + "is feteched.");
HEROES[0].name= HEROES.find(h => h.name == HeroName)?.name as string;
return of(HEROES[0].name);
}
组件
export class HeroesComponent implements OnInit {
//SelectedHero?= HEROES;
Heroes: Hero[]= [];
HeroNameReturned: Hero[]= [];
selectedName= "";
selectedHero?: Hero;
ReturnedHero?: Hero;
constructor(private heroService: HeroService) {
}
// getHeroes(): void
// {
// //this.Heroes= this.heroService.getHeroes();
// this.heroService.getHeroes("Fazal Fasil").subscribe(heroes => this.Heroes = heroes);
// }
getHeroesByName(selectedName: string): void
{
//this.Heroes= this.heroService.getHeroes();
this.heroService.getHeroesByName(selectedName).subscribe(heroname => this.HeroNameReturned[0].name = heroname);
this.ReturnedHero.name= this.HeroNameReturned[0].name;
this.Heroes.push(this.ReturnedHero);
console.log(this.Heroes.length)
}
但是
this.ReturnedHero.name= this.HeroNameReturned[0].name;
没有被分配给this.ReturnedHero.name。
错误:
Object is possibly 'undefined'.ts
【问题讨论】:
标签: angular typescript angular8 single-page-application