Поведение Angular $rootScope при запуске и при обновлении
У меня есть следующий кусок кода на Angular:
$rootScope.commands.forEach(function(element, index, array){
commands[element] = function() {alert(element + " Test Command!");}
});
Это работает, когда я вхожу в приложение в первый раз. То есть, если я проверю commands
JSON-объект, он содержит записи из $rootScope.commands
,
Проблема возникает, когда я обновляю страницу. Именно тогда я получаю ошибку, $rootScope.commands
не определено
Почему это происходит? Очевидно, что существует разница в поведении между первым входом в систему и простым обновлением страницы.
Есть идеи?
1 ответ
Когда вы входите, я предполагаю, что вы настраиваете $rootScope.commands
, Когда вы обновляетесь, вы больше не вызываете этот код входа (поскольку вы уже вошли в систему). Все, что установлено в переменных javascript, будет просто уничтожено при перезагрузке страницы и должно быть сброшено с помощью функций инициализации.
Моя рекомендация: добавить код запуска, используя angular.module('your_module_name').run()
и проверьте, вошел ли пользователь в систему. $rootScope.commands
снова.