I use provider to get http from my server to load image to create slide image.
but i can’t get data from that.
getnews.php return json.
{
"title": "http://host.com/image/title.jpg",
"data": [
{
"image_url": "http://host.com/AD/AD-1.jpg"
},
{
"image_url": "http://host.com/AD/AD-2.jpg"
}
]
}
providers/news.ts
import { Injectable } from '@angular/core';
import { Http } from '@angular/http';
import 'rxjs/add/operator/map';
@Injectable()
export class News {
data: any;
constructor(private http: Http) {
this.data = null;
}
load(){
if(this.data){
return Promise.resolve(this.data);
}
return new Promise(resolve => {
this.http.get('http://www.host.com/getnews.php')
.map(res => res.json())
.subscribe(data => {
this.data = data;
resolve(this.data);
});
});
}
}
page/news.ts
import { Component } from '@angular/core';
import { NavController, LoadingController } from 'ionic-angular';
import { News } from '../../providers/news/news';
@Component({
providers: [News],
templateUrl: 'build/pages/news/news.html',
})
export class NewsPage {
items: any = null;
constructor(private navCtrl: NavController, private loadingController: LoadingController, news: News) {
this.items = news.load();
}
}
page/news.html
<ion-slides>
<ion-slide *ngFor="let item of items.data | async">
<img [src]="item.image_url" class="slide-image"/>
</ion-slide>
</ion-slides>
this error.