Data comes from the NASA API service. But I can’t list them. Can someone help me?
My code;
nasa.service.ts
import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class NasaService {
public apiUrl: any = 'https://api.nasa.gov/planetary/apod';
public apiKey: any = '?api_key=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';
constructor(private http: HttpClient) { }
getImage() {
console.log('Image Loaded');
const url = this.apiUrl + this.apiKey;
return this.http.get(url);
}
}
tab3.page.ts
import { Router } from '@angular/router';
import { HttpClient } from '@angular/common/http';
import { Component } from '@angular/core';
import { NasaService } from '../nasa.service';
@Component({
selector: 'app-tab3',
templateUrl: 'tab3.page.html',
styleUrls: ['tab3.page.scss']
})
export class Tab3Page {
data: any = [];
constructor(private nasaService: NasaService, private http: HttpClient, private router: Router) {}
ngOnInit() {
this.nasaService
.getImage()
.subscribe(data =>{
console.log(data);
this.data = data;
});
}
}
tab3.page.html
<ion-header>
<ion-toolbar>
<ion-title>
Astronomy Picture of Day
</ion-title>
</ion-toolbar>
</ion-header>
<ion-content>
<ion-item *ngFor="let result of data.{I don't know what to write here.}">
<h1>{{result.title}}</h1>
<ion-img [src]="result.url"></ion-img>
<h4>{{result.date}}</h4><br>
<ion-label>{{result.explanation}}</ion-label>
</ion-item>
</ion-content>
API Result