【发布时间】:2019-02-08 11:18:51
【问题描述】:
我的 Ionic 应用中有网络检测功能。目标是防止用户在没有网络的情况下进行交互。
页面组件代码如下:
ionViewDidEnter() {
this.alert = this.alertCtrl.create({
title: 'No Network!',
subTitle: 'Please Connect to Internet to Continue',
enableBackdropDismiss: false
});
if(this.networkCheck.checkNetworkType() === 'none' || this.networkCheck.checkNetworkType() === 'unknown'){
this.alert.present();
}
this.networkSubscription = this.networkCheck.onStatusChange().subscribe(
data => {
console.debug(data);
if(data.type === 'offline'){
this.alert.present();
this.toast.show(data.type);
}
else if(data.type === 'online'){
this.alert.dismiss();
this.toast.show(data.type);
}
})
}
ionViewWillLeave() {
this.networkSubscription.unsubscribe();
}
在提供者中:
onStatusChange(){
return this.network.onchange()
}
问题是当 Toast 显示所有状态更改时,警报弹出窗口仅在网络断开连接时才首次显示。在它第一次被关闭后,它就不再出现了。
你能帮我解决这个问题吗?我猜想 viewDismiss 是导致这种情况发生的原因,但我无法控制。
如果有更好的方法来处理这种行为,请告诉我。
【问题讨论】: