Maison >interface Web >Voir.js >Vue-Router : Comment utiliser la transition de route pour obtenir un effet de transition ?
Vue-Router : Comment utiliser la transition d'itinéraire pour obtenir un effet de transition ?
Introduction :
Avec l'avancement continu de la technologie de développement front-end, le besoin d'effets de transition fluides entre les pages est devenu de plus en plus courant. Vue-Router, en tant que gestionnaire de routage officiel de Vue.js, nous offre de nombreuses fonctions puissantes, notamment la transition de route. Cet article expliquera comment utiliser les transitions dans Vue-Router pour obtenir des effets de transition fluides entre les pages et donnera des exemples de code spécifiques.
1. Transition de routage dans Vue-Router
Dans Vue-Router, la transition de routage est implémentée via le composant de transition. Le composant de transition est un composant fourni par Vue.js qui peut faire la transition d'éléments selon différents états. Nous pouvons utiliser le composant de transition pour obtenir l'effet de transition lors de l'entrée et de la sortie de la page.
2. Configurer la transition de routage
Pour obtenir l'effet de transition de routage, nous devons ajouter l'attribut de transition à la configuration de routage et lui attribuer un nom. Par exemple :
const router = new VueRouter({ routes: [ { path: '/', component: Home, name: 'home', meta: { transition: 'fade' } }, { path: '/about', component: About, name: 'about', meta: { transition: 'slide' } } ] })
Dans le code ci-dessus, nous avons ajouté un champ de transition à l'attribut méta de la route et spécifié différents noms d'effets de transition. De cette façon, lorsque la page change, nous pouvons contrôler l'effet de transition de la page en fonction de ce nom d'effet de transition.
3. Écrire des styles pour les effets de transition
En HTML, nous pouvons écrire des styles pour différents effets de transition via CSS. Par exemple, écrivez un style pour l'effet de transition de fondu :
.fade-enter-active, .fade-leave-active { transition: opacity .5s; } .fade-enter, .fade-leave-to { opacity: 0; }
Dans le code ci-dessus, nous définissons le temps de transition d'opacité à 0,5 seconde via l'attribut de transition. Les styles .fade-enter et .fade-leave-to sont utilisés pour définir les styles d'entrée et de sortie des éléments. Ici, nous définissons la transparence de l'élément sur 0.
4. Appliquer l'effet de transition
Pour appliquer l'effet de transition, nous devons ajouter dynamiquement le nom de la classe de style de l'effet de transition en fonction du nom de l'effet de transition lorsque l'itinéraire est changé. Voici un exemple d'implémentation simple :
<template> <transition :name="transitionName"> <router-view /> </transition> </template> <script> export default { computed: { transitionName() { const toRoute = this.$router.currentRoute; const fromRoute = this.$router.history.current; const toTransition = toRoute.meta.transition; const fromTransition = fromRoute.meta.transition; const defaultTransition = 'fade'; return toTransition || fromTransition || defaultTransition; } } } </script>
Dans le code ci-dessus, nous calculons dynamiquement le transitionName via l'attribut calculé. Tout d’abord, nous obtenons les toRoute et fromRoute actuels, puis déterminons quel effet de transition doit être utilisé en fonction du champ de transition dans leur méta-attribut. Si aucun des deux n'est spécifié, l'effet de transition par défaut est utilisé.
5. Résumé
Grâce à la configuration et à la mise en œuvre des étapes ci-dessus, nous pouvons facilement utiliser la transition d'itinéraire dans Vue-Router pour obtenir un effet de transition en douceur entre les pages. Nous pouvons personnaliser différents effets de transition selon vos besoins et utiliser des composants de transition et du CSS pour compléter des effets d'animation spécifiques. J'espère que cet article a aidé tout le monde à comprendre et à utiliser la transition de routage dans Vue-Router.
Documentation de référence :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!