我刚刚开始使用 Angular 6。
我跟着英雄教程,然后用真正的本地API替换了它
现在,我有锦标赛,而不是英雄
但是我的 API 不是返回一系列锦标赛,而是将其包装到一个数据对象中,因此我可以添加元数据。
锦标赛.service.ts
getTournaments(): Observable<Tournament[]> {
this.messageService.add('TournamentService: fetched tournaments');
return this.http.get<Tournament[]>(this.tournamentsUrl)
.pipe(
tap(tournaments => this.log(`fetched tournaments`)),
catchError(this.handleError('getTournaments', []))
);
}
锦标赛.ts
export class Tournament {
id: number;
user: string;
date: string;
name: string;
numCompetitors: number;
}
我从 API 获得的锦标赛:
"data": [
{
"id": 1,
"user": "[email protected]",
"date": "2018-06-13",
"name": "Fake Tournoi",
"numCompetitors": 86
},
{
"id": 2,
"user": "[email protected]",
"date": "2018-06-06",
"name": "Noel Kerluke",
"numCompetitors": 0
},
]
我应该怎么做才能始终从数据中提取我的数组?
如果锦标赛是一个对象,那么在您订阅服务方法的组件中,您必须像这样获取数据数组 tournaments["data"]
getTournaments(): void {
this.tournamentService.getTournaments()
.subscribe(tournaments => this.tournaments= tournaments["data"]);
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句