Jusqu’à ce que je passe la certification Vue.js en avril dernier et qui testa ma compréhension du concept, je ne l’avais pas entièrement compris.
Comment fonctionnent donc Transition
et TransitionGroup
?
Les cas d’usage
Si vous lisez la documentation correctement (en prenant votre temps), vous comprendrez facilement :
La transition peut être déclenchée par l’un des éléments suivants :
- Rendu conditionnel via
v-if
- Affichage conditionnel via
v-show
> 3.- le basculement des composants dynamiques via l’élément spécial
<composant>
> 4. le basculement des composants dynamiques via l’élément spécial<composant>
.- Modification de l’attribut spécial `key
Quelle est la signification de chaque cas d’usage
Les cas 1 et 2 se ressemblent beaucoup : prenons pour exemple cette template, avec v-if
:
|
|
Lorsque show
change, Vue bascule le paragraphe et exécute la transition.
Vous pouvez remplacer v-if
par v-show
et vous obtiendrez exactement la même chose.
Qu’en est-il du cas d’usage numéro 3 ? Dans le cas d’un carousel d’images, nous pourrions avoir ceci :
|
|
Lorsque vous passez d’une image à une autre, currentImage.title
est mis à jour ainsi que la valeur :key
. Cela déclenche alors la transition.
Le cas d’usage numéro 4 était le plus difficile à comprendre. Il concerne l’élément spécial <component>
que vous pouvez utiliser avec le routeur de Vue. Voici un exemple :
|
|
En fait, la transition s’exécutera à chaque fois que le chemin de la route changera.
N’oubliez pas non plus que <Transition>
ne peut contenir qu’un seul élément ou composant. Si le contenu est un composant, le composant doit également avoir un seul élément racine.
Cela ne fonctionnerait donc pas :
|
|
Toutefois, cela ne signifie pas que vous ne pouvez pas faire défiler plusieurs éléments comme dans cet exemple :
|
|
Learn More
Voir le code complet de cet exemple dans l’environnement de démonstration de Vue.js.
Il y a plus d’informations sur l’utilisation des transitions, comme les modes de transition, les transitions entre composants ou les transitions dynamiques, alors n’hésitent pas à consulter la documentation.
Suivez-moi !
Merci d’avoir lu cet article. Assurez-vous de me suivre sur X, de vous abonner à ma publication Substack et d’ajouter mon blog à vos favoris pour ne pas manquer les prochains articles.
Crédits: l’image d’en-tête provient de Federico Beccari sur Unsplash.