我正在遵循here的教程,但是我试图通过使用'card'而不是'hero'来稍微修改heroes.component.ts类。尝试致电.subscribe()
时,我得到
src / app / card / card.component.ts(12,19)中的错误:错误TS1109:需要表达。
我的版本(注意卡片清单变量名称更改)
export class CardComponent implements OnInit {
cardlist = Card[]; //-------LINE 12
....
getCards(): void {
this.cardService.getCards() //--------LINE 19
.subscribe(c => this.cardlist = c);
}
}
这是我认为在getCards()函数内部发生的事情:
getCards()
声明为返回类型为void getCards()
方法.subscribe()
来监听对该数据的更改c => this.cardlist = c
表示从服务传入的每张卡c
都将其添加到cardlist
很明显,我对第4步有误。我做错了什么?
有效的教程代码(为方便起见而复制):
import { Component, OnInit } from '@angular/core';
import { Hero } from '../hero';
import { HeroService } from '../hero.service';
@Component({
selector: 'app-heroes',
templateUrl: './heroes.component.html',
styleUrls: ['./heroes.component.css']
})
export class HeroesComponent implements OnInit {
selectedHero: Hero;
heroes: Hero[];
constructor(private heroService: HeroService) { }
ngOnInit() {
this.getHeroes();
}
onSelect(hero: Hero): void {
this.selectedHero = hero;
}
getHeroes(): void {
this.heroService.getHeroes()
.subscribe(heroes => this.heroes = heroes);
}
}
答案 0 :(得分:2)
您缺少一些括号,请按以下方法尝试
getHeroes(): void {
this.heroService.getHeroes()
.subscribe(resUserData => {
this.heroes = resUserData
});
}
答案 1 :(得分:0)
export class CardComponent implements OnInit {
cardlist = Card[];
....
getCards(): void {
this.cardService.getCards()
.subscribe(c => { this.cardlist = c);
});
}