私はionicには新しく、現在はIonic 2で働いています。ユーザーがオフラインになったときにトーストを表示したいと思います。私は現在、以下の私のコードに示されているようにそれを行うことができます(ユーザーがオフラインになるたびにトーストショー)。しかし、私は何をしたいのhttpリクエスト(トレスをリフレッシュし、無限のスクロールにプル)にトーストを示しています。そのため、データが既にロードされている場合でも、ユーザーが無限のスクロールでデータを読み込んでリフレッシュしようとするとトーストが表示され、オフラインであることが通知されます。ネットワークをチェックしてHTTPリクエストでトーストを表示
export class HomePage {
datas:any = [];
page:number =1;
connected: Subscription;
disconnected: Subscription;
constructor(private toast: ToastController, private network: Network, public navCtrl: NavController, private wpapi: Wpapi) {
this.getPosts();
}
displayNetworkUpdate(connectionState: string){
//let networkType = this.network.type
this.toast.create({
message: `You are currently ${connectionState}, please re connect your data`,
duration: 3000
}).present();
}
ionViewDidEnter() {
this.disconnected = this.network.onDisconnect().subscribe(data => {
console.log(data)
this.displayNetworkUpdate(data.type);
}, error => console.error(error));
}
getPosts() {
//this.page = '1';
//this.wpapi.index(this.page)
this.wpapi.index(1)
.subscribe(data => {
this.datas = data;
console.log(this.datas);
});
}
loadMore(infiniteScroll) {
this.page++;
this.wpapi.index(this.page).subscribe(datas => {
// Loads posts from WordPress API
let length = datas["length"];
if(length === 0) {
infiniteScroll.complete();
return;
}
for (var i = length - 1; i >= 0; i--) {
this.datas.push(datas[i]);
}
infiniteScroll.complete();
});
}
doRefresh(refresher) {
this.wpapi.index(1)
.subscribe(data => {
this.datas = data;
refresher.complete();
});
}
ionViewWillLeave(){
this.connected.unsubscribe();
this.disconnected.unsubscribe();
}
}