#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