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));
这是第二个答案:) – GMan