I have some JSON data in Firebase and I'm trying to loop through the data with *ngFor in Angular v5.
The object looks like this:
{
"events": [
{
"Event-time": "09:30",
"Event-name": "Morning Session",
"Location": "Alexander Room",
"Speaker-image": "https://z4e3q7e996-flywheel.netdna-ssl.com/wp-content/uploads/2017/07/TeamPhotosIan.png",
"Speaker-name": "Ian Broom",
"Speaker-title": "CEO & Founder"
},
{
"Event-time": "11:30",
"Event-name": "Morning Session II",
"Location": "Coffee Room",
"Speaker-image": "https://z4e3q7e996-flywheel.netdna-ssl.com/wp-content/uploads/2012/07/TeamPhotosben.png",
"Speaker-name": "Ben Wynne-Simmons",
"Speaker-title": "Head of Growth & Marketing"
}
]
}
This is my events-list.component:
export class EventsListComponent implements OnInit {
eventsObservable: Observable<any[]>;
constructor(private db: AngularFireDatabase) { }
ngOnInit() {
this.eventsObservable = this.getEvents('/events');
}
getEvents(listPath): Observable<any[]> {
return this.db.list(listPath).valueChanges();
}
}
I'm trying to loop through like so:
<ul>
<li *ngFor="let event of eventsObservable | async">
<p>{{event.Event-name}}</p>
</li>
</ul>
What gets printed out is NaN.
I don't know how to access and display the data.
Please help! Thanks!