2015-05-08 63 views
2

有人可以幫忙嗎?在線和離線活動正在發射兩次

我試圖檢查當我的離子項目,互聯網conectivity丟失,它工作正常,但事件由於某種原因連續兩次觸發。下面是我的代碼在我的$ 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'); 
    }); 
} 

就像我說的它的工作原理,但大火連續兩次,所以當我想顯示彈出當Internet連接丟失,它顯示兩次。

我檢查了離子論壇,發現有類似問題的人,但沒有人真的給了他一個確切的答案:http://forum.ionicframework.com

+0

可以使用的狀態作爲一種解決方法 – SharpEdge

回答

7

這是使用狀態虛擬VAR

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'); 
 
    }); 
 
}
一種解決方法

+0

這是一個很好的解決辦法,但我們不應該得到這個矛盾的根源在哪裏?爲什麼第一次被稱爲兩次? – Taurus

+0

感謝工作正常 –