2016-12-01 8 views
0

私はオフラインモードで動作する必要のあるイオンアプリを持っています。私は私のアプリを起動すると、次のエラーが表示されます。なぜこれが起こっているのですか?次に何をすべきですか?

私はアプリストアを利用するためにはオフラインモードが必要です。特に私はオフラインで無効にする必要があるGoogleマップの場所のドロップダウンがあります。

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){ 

あなたは$rootScope$ionicPopupをマッピングしました。

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

または

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

、第2の答えです:):

はこのように、配列内の文字列としてすべてを注入するか、単に関数を書きます – GMan

関連する問題