【发布时间】:2019-09-08 16:51:56
【问题描述】:
我有一个返回以下 JSON 的节点服务器:
{
"ResponseStatus": {
"ResponseCode": 0,
"ResponseMessage": "Success."
},
"Events": [
{
"CodEspec": 65957,
"NomeEspec": "O PIOR ESPETÁCULO DO MUNDO",
"DiaHoraEspecs": [
"2019-05-09T21:30:00",
"2019-05-10T21:30:00",
"2019-05-25T21:30:00"
]
},
{
"CodEspec": 01234,
"NomeEspec": "O MELHOR ESPETÁCULO DO MUNDO",
"DiaHoraEspecs": [
"2019-05-09T21:30:00",
"2019-05-10T21:30:00",
"2019-05-25T21:30:00"
]
},
]
}
我创建了一个执行 GET 并返回 JSON 的 Angular 服务。
tickeline.service.ts
getEventos():Observable<Event[]>{
//get todos os eventos
return this.http.get<Event[]>(this.url_node, httpOptions);
}
还为事件创建了一个模型,只获取某些参数:
events.ts
export class Event{
CodEspec: number;
NomeEspec: string;
DiaHoraEspecs: Date[];
}
在我想要显示 JSON 的事件组件中,我从服务中调用函数 geteventos。
events.component.ts
export class EventsComponent implements OnInit {
events: Event[];
constructor(private ticketlineservice: TicketlineService) { }
ngOnInit() {
this.ticketlineservice.getEventos().subscribe(events => {
this.events = events;
});
}
}
events.component.html
<div class="text-center">
<ul *ngFor="let event of events">
<li class="btn bg-primary text-center">
<h2>Evento:</h2>
<p>{{ event.NomeEspec }}</p>
<p>{{ event.CodEspec }}</p>
<p>{{ event.DiaHoraEspecs }}</p>
</li>
</ul>
</div>
问题:为每个 Event 对象创建一个带有相应信息的 li 元素。目前它只在 li 元素上创建,不显示 JSON 信息
【问题讨论】:
-
你重复
uls而不是lis,把你的*ngFor放在li上 -
events在subscribe中返回的内容是什么? -
subscribe返回一个数组,里面有两个数组,其中两个是每个事件的信息 -
@LuisMaia 但您显示了 JSON 响应,并且里面没有包含数组的数组。您应该清楚您得到的确切响应。
-
@porgo 返回以下内容:
0: Events: Array(2) 0: {...} 1: {...}