ionic app.run deviceready переменная rootscoop не работает

В моем ионном приложении у меня есть функция app.run и функция готовности устройства внутри нее:

app.run(function($rootScope, $ionicPlatform, $cordovaPush) {
    document.addEventListener("deviceready", function(){

    }, false);
})

Когда я объявляю переменную rootScope в функции запуска, как показано ниже, переменная доступна во всех контроллерах.

app.run(function($rootScope, $ionicPlatform, $cordovaPush) {

    $rootScope.myvariable = 'teststring';

    document.addEventListener("deviceready", function(){

    }, false);
})

Когда я помещаю переменную rootScope в функцию deviceready, переменная rootScope больше не доступна

app.run(function($rootScope, $ionicPlatform, $cordovaPush) {
    document.addEventListener("deviceready", function(){

        // I need this variable here because it's a value generated by a function that only works inside the deviceready function

        $rootScope.myvariable = 'teststring';

    }, false);
})

Как я могу сделать переменную rootcope внутри функции deviceready доступной для всех моих контроллеров?


person user1242574    schedule 06.07.2015    source источник
comment
myvariable будет по-прежнему доступен, но только после того, как устройство будет готово. Итак, когда вы пытаетесь получить к нему доступ, устройство просто еще не готово. Что вы пытаетесь сделать с этой переменной.   -  person John    schedule 06.07.2015
comment
Мне нужна переменная во всем моем приложении в других функциях в разных контроллерах. Переменная содержит информацию об устройстве, и, к сожалению, я могу получить эту информацию только в этом месте, а не где els. Речь идет о токене устройства для службы push-уведомлений.   -  person user1242574    schedule 08.07.2015
comment
Проверить этот вопрос stackoverflow.com/questions/21556090/   -  person John    schedule 08.07.2015