Syntaxe
<element ng-cloak></element>
|
Paramètres
Nom |
Description |
element |
Ce paramètre permet d'indiquer une balise. |
Description
Cette directive permet d'empêcher le scintillement lorsque la page est en cours de chargement.
Remarques
- But principal de la directive : La directive ng-cloak est utilisée pour éviter que des expressions AngularJS non compilées, telles que
{{expression}}, ne soient affichées brièvement à l'utilisateur avant que le cadre d'application ne compile la page. Ce problème est connu sous le nom de
"flash of unstyled content" (FOUC).
- Mode d'utilisation : Elle est généralement appliquée comme attribut HTML ou comme classe
CSS sur les éléments contenant des expressions AngularJS. L'élément reste masqué jusqu'à ce qu'AngularJS compile les
directives et expressions.
- Comportement par défaut avec CSS intégré : AngularJS injecte automatiquement un style par défaut dans le document HTML ([ng-cloak]
{ display: none !important; }) masquant les éléments marqués de la directive, même si aucune classe CSS personnalisée n'est ajoutée.
- Combinaison avec d'autres styles : Bien qu'AngularJS fournisse un style par défaut, il est souvent recommandé d'ajouter une règle
CSS spécifique au projet pour éviter des conflits avec d'autres styles ou si le cadre d'application
CSS utilisé ne respecte pas le style injecté.
- Impact sur l'expérience utilisateur : Utiliser ng-cloak améliore l'expérience utilisateur en évitant le rendu non désiré d'expressions AngularJS,
ce qui rend l'application plus fluide et professionnelle. Cela est particulièrement utile dans des applications complexes avec des gabarits dynamiques.
- Cas d'utilisation avancés : ng-cloak peut être combiné avec d'autres directives comme ng-if ou ng-show pour un contrôle plus précis sur
l'affichage conditionnel, en garantissant que rien n'est visible tant que les conditions spécifiques ne sont pas évaluées.
- Limitations potentielles : La directive ne fonctionne correctement que si AngularJS est chargé rapidement. Si le fichier AngularJS met du temps à
se charger ou est bloqué, les éléments restent masqués, ce qui pourrait donner une impression de lenteur à l'utilisateur.
- Différences par rapport à d'autres directives : Contrairement à ng-hide, masqu également les éléments, ng-cloak est temporaire et destiné uniquement
à éviter les problèmes avant la compilation AngularJS. Une fois la compilation terminée, ng-cloak est supprimé automatiquement de l'élément
DOM.
Dernière mise à jour : Dimanche, le 9 décembre 2018