J'ai configuré avec succès un indicateur de chargement de page complète dans Angular suivant la méthode this. Il utilise ng-hide/ng-show, que j'utilise à l'aide de CSS. Voici mon code:Utilisez momentanément le chargeur angulaire même lorsque les vues sont mises en cache
Le bit HTML:
<div ng-show="loading" class="loader">Loading</div>
Le bit CSS:
.loader {
transition: 0.25s linear all;
opacity: 0;
visibility: hidden;
}
.ng-hide-add {
opacity: 0;
visibility: hidden;
}
.ng-hide-remove {
opacity: 1;
visibility: visible;
}
Le bit angulaire:
myApp.controller('appController', function($scope, $route, $rootScope) {
$scope.$on('LOAD',function(){$scope.loading=true});
$scope.$on('UNLOAD',function(){$scope.loading=false});
});
myApp.controller('pageController', function($scope) {
$scope.$emit('LOAD')
angular.element(document).ready(function() {
$scope.$emit('UNLOAD');
});
});
Il semble agréable sur les charges de page fraîches, mais une fois que vous avez mis en cache des pages dans l'application et revenir à ces pages vous manquez sur les transitions de la page, comme le chargeur est inutile.
Comment puis-je m'assurer que le chargeur affichera au moins 500 ms si la page est mise en cache et ne montrerait pas le chargeur?
Existe-t-il une meilleure façon d'aborder ce problème?
Merci.
Merci pour la réponse. J'ai fait un Plunker en utilisant votre exemple. Il ne semble pas que le chargeur apparaisse au-delà de la vue initiale: https://embed.plnkr.co/HqwjgsAsTdi46xYsPxoo/ - Ai-je raté quelque chose? – longforshort