2016-12-01 27 views
0

我有一個離線應用程序,需要在離線模式下工作。當我啓動我的應用程序時出現以下錯誤。爲什麼會發生這種情況 - 接下來我應該做什麼?

我需要離線模式才能使其通過應用商店。特別是我有一個谷歌地圖位置下拉,需要離線關閉。

services.js:392 Uncaught TypeError: $rootScope.$on is not a function 

這是我的代碼。

})*/ 
    .factory('ConnectivityMonitor', ['$ionicPopup', function($rootScope, $cordovaNetwork, $ionicPopup){ 

    return { 
     isOnline: function(){ 
     if(ionic.Platform.isWebView()){ 
      return $cordovaNetwork.isOnline(); 
     } else { 
      return navigator.onLine; 
     } 
     }, 
     isOffline: function(){ 
     if(ionic.Platform.isWebView()){ 
      return !$cordovaNetwork.isOnline(); 
     } else { 
      return !navigator.onLine; 
     } 
     }, 
     startWatching: function(){ 
     if(ionic.Platform.isWebView()){ 

      $rootScope.$on('$cordovaNetwork:online', function(event, networkState){ 
      console.log("went online"); 
      }); 

      $rootScope.$on('$cordovaNetwork:offline', function(event, networkState){ 
      console.log("went offline"); 
      $ionicPopup.alert({ 
       title: 'No Internet Connection', 
       content: 'This app requires an internet connection.' 
      }) 
       .then(function() { 
       //ionic.Platform.exitApp(); 
       }); 
      }); 

     } 
     else { 
... 
     } 
     } 
    } 
    }]) 

回答

1
.factory('ConnectivityMonitor', ['$ionicPopup', function($rootScope, $cordovaNetwork, $ionicPopup){ 

已映射$ionicPopup$rootScope

進樣一切,在數組字符串或只寫一個函數,就像這樣:

.factory("ConnectivityMonitor", ["$rootScope","$cordovaNetwork", "$ionicPopup", function($rootScope,$cordovaNetwork, $ionicPopup){...}]); 

.factory("ConnectivityMonitor", function($rootScope,$cordovaNetwork, $ionicPopup)); 
+0

這是第二個答案:) – GMan

相關問題