2015-07-21 3 views
0

Попробуйте создать приложение для Android в phonegap, используя Android.

angular.module('myModule').config(['$rootScope', function($rootScope) { 
    $rootScope.internet = { status: 0, type: 'none'}; 
    document.addEventListener("offline", function(){ 
     $rootScope.internet.status = 0; 
     $rootScope.internet.type = navigator.connection.type; 
    }, false); 
    document.addEventListener("online", function(){ 
     $rootScope.internet.status = 1; 
     $rootScope.internet.type = navigator.connection.type; 
    }, false); 
    }]); 

Я только хочу, чтобы изменить глобальную valiable, когда изменения navigator.connection, или выходить в интернет/автономном режиме.

Или как я могу связать watch с этим navigator.connection глобальный var.

ответ

0

Вы не можете использовать $rootScope внутри конфигурации фазы углового приложения, потому что он получает создан в run блоке, который проходит сразу после завершения .config блоков.

Он доступен из угловой фазы run. Вы можете поместить этот блок кода в фазу запуска.

Вы можете использовать функцию и вернуть значение navigator.connection на каждый дайджест.

Код

angular.module('myModule').run(['$rootScope', function($rootScope) { 
    $rootScope.internet = { status: 0, type: 'none'}; 
    document.addEventListener("offline", function(){ 
     $rootScope.internet.status = 0; 
     $rootScope.internet.type = navigator.connection.type; 
    }, false); 
    document.addEventListener("online", function(){ 
     $rootScope.internet.status = 1; 
     $rootScope.internet.type = navigator.connection.type; 
    }, false); 
    $rootScope.$watch(function(){ 
     return navigator.connection; 
    }, function((newVal, oldVal){ 
     console.log(newVal) 
    }) 
}]); 
+0

@ubombi поможет ли это вам? –