Uncaught TypeError:$ rootScope。$ on不是连接工厂的功能

问题描述:

我有一个离线应用程序,需要在离线模式下工作。当我启动我的应用程序时出现以下错误。为什么会发生这种情况 - 接下来我应该做什么?

我需要离线模式才能使其通过应用商店。特别是我有一个谷歌地图位置下拉,需要离线关闭。

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 { 
... 
     } 
     } 
    } 
    }]) 

.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