ng-switch |
AngularJS |
---|---|
JavaScript |
Syntaxe
<element ng-switch="expression"> <element ng-switch-when="value"></element> <element ng-switch-when="value"></element> <element ng-switch-when="value"></element> <element ng-switch-default></element> </element> |
Paramètres
Nom | Description |
---|---|
element | Ce paramètre permet d'indiquer une balise. |
expression | Ce paramètre permet d'indiquer une expression supprimant les éléments sans correspondance et affichera les éléments avec une correspondance. |
value | Ce paramètre permet d'indiquer une valeur de correspondance. |
Description
Cette directive permet d'indiquer une évaluation de cas devant être utiliser sur des éléments.
Remarques
- Fonctionnement général : La directive ng-switch est utilisée pour afficher dynamiquement différents éléments DOM en fonction de l'expression d'une condition. Elle agit comme une structure de contrôle conditionnelle, similaire à un switch dans les langages de programmation traditionnels, mais pour le rendu de gabarits dans AngularJS.
- Syntaxe de base : L'élément avec la directive ng-switch évalue une expression, et en fonction de cette expression, elle sélectionne l'élément enfant marqué avec ng-switch-when ou ng-switch-default. Cela permet de conditionner l'affichage de plusieurs blocs HTML, facilitant ainsi la gestion de contenus complexes.
- Directive ng-switch-when : Chaque élément enfant de l'élément avec ng-switch peut contenir une directive ng-switch-when, suivie de la valeur que l'expression de ng-switch doit correspondre pour afficher cet élément. Si l'expression correspond, l'élément est affiché, sinon il est ignoré.
- Directive ng-switch-default : Comme pour un switch traditionnel, il est possible d'utiliser ng-switch-default pour définir un cas par défaut. Cet élément sera affiché si aucune des valeurs définies dans ng-switch-when ne correspond à l'expression évaluée par ng-switch.
- Évaluation dynamique : L'expression dans ng-switch est évaluée de manière réactive, ce qui signifie que dès que la valeur de l'expression change, le contenu associé est mis à jour en temps réel, ce qui est l'un des principes clefs du data binding dans AngularJS.
- Comportement d'affichage conditionnel : Contrairement aux structures conditionnelles classiques en JavaScript, ng-switch permet de manipuler de manière élégante l'affichage de blocs HTML complets, ce qui est particulièrement utile pour créer des interfaces dynamiques où plusieurs vues doivent être affichées ou cachées en fonction des données.
- Utilisation avec des expressions complexes : ng-switch peut être utilisé avec des expressions complexes retournant une valeur à comparer. Cela permet d'effectuer des comparaisons avec des objets, des résultats de fonctions, ou même des valeurs calculées, ce qui élargit considérablement les cas d'utilisation de cette directive.
- Performance et optimisation : Bien que ng-switch facilite la gestion de l'affichage conditionnel, il faut être attentif à la performance, surtout dans des applications AngularJS complexes avec de nombreux éléments ng-switch. Le DOM peut se retrouver modifié fréquemment, ce qui peut entraîner une surcharge si non optimisé correctement.
Dernière mise à jour : Dimanche, le 9 décembre 2018