有人可以帮忙吗?
我试图检查我的 ionic 项目中什么时候失去了Internet连通性,它运行正常,但由于某种原因该事件连续触发两次。以下是我在$ ionicPlatform.ready中的app.js中的代码:
if (window.Connection) {
$rootScope.$on('$cordovaNetwork:online', function (event, networkState) {
console.log('We Are Online');
});
$rootScope.$on('$cordovaNetwork:offline', function (event, networkState) {
console.log('We Are Offline');
});
}
就像我说的那样,它可以工作,但是连续触发两次,所以当我想在互联网连接断开时显示弹出窗口时,它会显示两次。
我检查了 ionic 论坛,发现一个有类似问题的人,但没人能给他一个确切的答案:http://forum.ionicframework.com
最佳答案
这是使用状态虚拟变量的解决方法
var isOnline = true;
if (window.Connection) {
$rootScope.$on('$cordovaNetwork:online', function (event, networkState) {
if(isOnline) return;
isOnline = true;
console.log('We Are Online');
});
$rootScope.$on('$cordovaNetwork:offline', function (event, networkState) {
if(!isOnline) return;
isOnline = false;
console.log('We Are Offline');
});
}