【发布时间】:2016-12-20 15:22:05
【问题描述】:
我正在尝试通过在函数中再次调用服务来刷新页面,但我没有这样做......这是代码:
export class JobsPage {
jobs: Jobs[]
constructor(public navCtrl: NavController, private jobsData: JobsData) {
jobsData.load().then(res => {
this.jobs = res;
})
}
doRefresh(refresh){
setTimeout(() => {
this.jobsData.load().then(res => {
this.jobs = res;
});
refresh.complete();
}, 1000);
}
如您所见,我正在刷新函数中再次运行服务 this.jobsData.load(),但是新数据没有更新......除非我完全刷新网页以加载新数据
在 html 中,我将复习器放在 <ion-content> 的正下方
<ion-content>
<ion-refresher (ionRefresh)="doRefresh($event)">
<ion-refresher-content
pullingIcon="arrow-dropdown"
pullingText="Pull to refresh"
refreshingSpinner="circles"
refreshingText="Refreshing...">
</ion-refresher-content>
</ion-refresher>
<ion-card *ngFor="let job of jobs">
//// the page content
</ion-card>
</ion-content>
我也包含了 service.ts 代码:
load() {
if (this.data) {
return Promise.resolve(this.data);
}
return new Promise(resolve => {
this.http.get(this.jobsApiUrl)
.map(res => res.json())
.subscribe(data => {
this.data = data.data;
resolve(this.data);
});
});
}
.subscribe 用于访问数据 api { data: {.....}, category: {.....} }
我找不到使用Observable的方法
【问题讨论】: