Поведение 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 снова.

Другие вопросы по тегам