Я работаю над проблемой пользовательского интерфейса. В порядке загрузки происходит пропуски зажигания, которые случаются 1 из 50 или около того. Приложение Angular JS имеет общую директиву в качестве панели кнопок навигации, и эта часть используется большинством других контроллеров.
Обычный порядок срабатывания
Когда возникает проблема порядка запуска
- EditGroupController.init () <- Установить все кнопки на основе данных вызова службы </li>
- ButtonController.init () <- Установить все кнопки скрытыми </li>
В приведенном выше сценарии 2 EditGroupController пытается вызвать событие для ButtonController через:
$rootScope.$broadcast('setHeadersButtons', buttons);
Однако, когда я прослеживаю внутренний код angular, появляется ветвь logi c, где он ищет зарегистрированный слушатель с таким именем, и он не находит его для запуска, потому что модуль не был загружен.
Я помню, что в приложении Angular 7 я использовал APP_INITIALIZER, чтобы сначала загрузить часть ядра. Извините, если моя формулировка не точная, передний конец / angular не моя специальность, и это несколько упало мне на колени. Есть ли способ убедиться, что директива в Angular JS загружена перед любыми другими частями?
Существует app.route. js, могу ли я принудительно загрузить директиву туда?