Angular $ rootScope init. (Angular + Phonegap)

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);
  }]);

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

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

Теги:
cordova
phonegap-plugins

1 ответ

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 тебе это поможет?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню