2017-11-16 5 views
0

Aus irgendeinem Grund, wenn die Anwendung in den Offline-Modus geht der Ereignis-Listener mehrere Feuern und wie man es nur einmal auslösen.addEventListener für "offline" feuern mehrere Male in ionischen

$rootScope.$on('$ionicView.afterEnter', function (event, view) { 

    $rootScope.online = navigator.onLine; 
    var popup; 

    $window.addEventListener("offline", function() { 
     $rootScope.$apply(function() { 
     $rootScope.online = false; 
     popup = $ionicPopup.confirm({ 
      title: 'Network Problem', 
      content: 'Sorry, Please Check Your Network Connection.' 
     }) 
     }); 
    }, false); 
    $window.addEventListener("online", function() { 
     $rootScope.$apply(function() { 
     $ionicLoading.show({ 
      template: '<p>Loading...</p><ion-spinner></ion-spinner>', 
     }); 
     $rootScope.online = true; 
     $state.reload(); 
    }, false); 
}); 

Antwort

0

Durch Leeren des Caches wird das Ereignis nur einmal ausgelöst.

$rootScope.$on('$ionicView.afterLeave', function (event, view) { 
    $ionicHistory.clearCache(); 
}); 
Verwandte Themen