Проверка завершения загрузки всех элементов

#javascript #jquery #angularjs

#javascript #jquery #angularjs

Вопрос:

У нас есть веб-сайт, созданный с использованием AngularJS, и загрузка некоторых компонентов занимает некоторое время. Что я хотел бы сделать, так это создать событие, которое будет запускаться при загрузке всех компонентов. Я мог бы использовать селектор тегов с событием загрузки. Однако пользовательский тег для компонентов может измениться в будущем, и я предпочитаю не полагаться на это. Итак, вопрос is…is существует способ создать обработчик событий, который не зависит от имени тега, но будет запущен, когда все загрузки на странице будут выполнены.

Комментарии:

1. что именно вы пытаетесь сделать?

Ответ №1:

Я думаю, это может быть полезно для вас, если вы используете маршрут angular UI.

$viewContentLoading — запускается, как только представление начинает загружаться, перед отображением DOM. ‘$ rootScope’ транслирует событие.

 $rootScope.$on('$viewContentLoading', 
function(event, viewConfig){ 
   //Do something
});
  

$viewContentLoaded — запускается после загрузки представления, после рендеринга DOM. ‘$ scope’ представления генерирует событие.

 $scope.$on('$viewContentLoaded', 
function(event){ 

//Do something
});
  

ИЛИ вы можете попробовать angular $window object.

 $window.onload = function(e) {
  //do something
}
  

Комментарии:

1. Я не пробовал ваши первые два предложения, но я попробовал последнее. При этом onload запускается, пока компоненты все еще загружаются. Но я попробую два других подхода и посмотрю, работают ли они.

2. Если у вас есть какое-либо другое решение, не могли бы вы поделиться с нами? @Charlietfl