Ich bin in der Lage, Daten von einem API mit http.get, in http.get console.log Daten zeigen, aber von http bekommen zeigen undefinierte Daten sogar nicht Daten zu setzen Klassenvariablen in html es hier Fehler undefiniert geben ist, wie ich Daten in Anbieterhttp.get nicht übergeben Daten an Seite Klassenvariable
Anbieter Methode bin immer
if (this.data) {
return Promise.resolve(this.data);
}
return new Promise(resolve => {
this.http.get(SERVER_NAME+'home')
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
});
});
home.ts
this.homeService.getHomeData().then(data => {
this.homeData = data;
console.log(this.homeData); // here it is showing data.
});
home.html
<ion-slides class="home-slide" autoplay="3000" loop>
<ion-slide *ngFor=" let banner of homeData">
<img src="assets/images/1_2.jpg" class="img-responsive" alt="">
</ion-slide>
</ion-slides>
API-Daten
hier ist meine Json Daten von api kommen, ich schaffe nur eine Anfrage Homepage Daten abzurufen, sind Daten, wenig komplex.
{
"banners": [
{
"image": "http://localhost/upload/banner-1.jpg"
},
{
"image": "http://localhost/upload/banner-12.jpg"
}
],
"watch_brands": [
{
"name": "A",
"slug": "a"
},
{
"name": "Brand from app",
"slug": "brand-from-app"
},
],
"watches": [
[
{
"name": "Geneve White Dial Y/G",
"slug": "geneve-white-dial-yg",
"brand_name": "Test Brand for watch",
"images": {
"200": "http://localhost/dwe/cdv_photo_00144.jpg",
"400": "http://localhost/dwe/cdv_photo_00144.jpg"
}
},
{
"name": "Vintage Diamond Bezel and Bracelet White Dial Y/G",
"slug": "vintage-diamond-bezel-and-bracelet-white-dial-yg",
"brand_name": "Test Brand",
"images": {
"200": "http://localhost/dwe/cdv_photo_00530.jpg",
"400": "http://localhost/dwe/cdv_photo_00530.jpg"
}
}
]
]
}
andere Version von JSON-Daten nur für Banner
[
{
"image": "http://localhost/upload/banner-12.jpg"
},
{
"image": "http://localhost/upload/banner-1.jpg"
}
]
'.map (res => res.json())' sollte '.map (res => Rückkehr res. json()) ', oder? –
@camaron nein, die Rückgabe ist implizit, es sei denn, Sie haben einen Block auf der rechten Seite des Pfeils. –
Geben Sie die genaue und vollständige Fehlermeldung ein. –