Maison  >  Article  >  interface Web  >  Les progrès de Vue3 par rapport à Vue2 : un gestionnaire de routes plus avancé

Les progrès de Vue3 par rapport à Vue2 : un gestionnaire de routes plus avancé

PHPz
PHPzoriginal
2023-07-09 08:49:361067parcourir

Titre : Progrès de Vue3 par rapport à Vue2 : Un gestionnaire de routage plus avancé

Introduction :
Avec le développement continu de la technologie front-end, le framework Vue est progressivement devenu l'un des frameworks front-end les plus populaires ces dernières années. En tant que version améliorée de Vue2, Vue3 apporte de nombreuses nouvelles fonctionnalités et améliorations, notamment un gestionnaire de routage plus avancé. Dans cet article, nous explorerons les avancées dans la gestion des routes de Vue3 par rapport à Vue2 et les démontrerons à travers des exemples de code.

1. Gestionnaire de routage Vue2
Dans Vue2, nous utilisons généralement la bibliothèque vue-router pour implémenter la gestion du routage. Cette bibliothèque fournit une série d'API pour définir des itinéraires, gérer la navigation sur les itinéraires et restituer les composants d'itinéraire. Voici un exemple simple utilisant vue-router :

<!-- App.vue -->
<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<!-- main.js -->
import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'

Vue.use(VueRouter)

const router = new VueRouter({
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
})

new Vue({
  router,
  render: h => h(App)
}).$mount('#app')

Dans l'exemple ci-dessus, nous utilisons VueRouter pour créer une instance de routage et la transmettre à l'instance Vue. En définissant le tableau routes, nous pouvons spécifier les composants correspondants sous différents chemins pour basculer entre les pages.

Cependant, le gestionnaire d'itinéraires de Vue2 présente certaines limites à certains égards. Par exemple, lorsque nous devons gérer un routage dynamique ou un routage imbriqué, le code devient complexe et difficile à maintenir. De plus, le gestionnaire de routes de Vue2 n'est pas assez convivial pour les composants asynchrones.

2. Le gestionnaire de routage de Vue3
Vue3 introduit une toute nouvelle bibliothèque de gestionnaire de routage, à savoir vue-router@next. Par rapport au gestionnaire de routage de Vue2, Vue3 apporte des améliorations et mises à jour importantes, rendant la gestion du routage plus avancée et plus flexible. Voici un exemple utilisant vue-router@next :

<!-- App.vue -->
<template>
  <div id="app">
    <router-view></router-view>
  </div>
</template>

<!-- main.js -->
import { createApp } from 'vue'
import { createRouter, createWebHistory } from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About }
  ]
})

createApp(App)
  .use(router)
  .mount('#app')

Dans l'exemple ci-dessus, nous utilisons la fonction createRouter pour créer une instance de routage et utilisons le mode historique du navigateur pour la navigation sur l'itinéraire via la fonction createWebHistory. En définissant le tableau routes, nous pouvons spécifier les composants correspondants sous différents chemins comme Vue2.

Cependant, le gestionnaire de routes de Vue3 offre plus de commodité dans la gestion du routage dynamique, du routage imbriqué et des composants asynchrones. Voici un exemple d'utilisation de vue-router@next pour gérer le routage dynamique :

<!-- App.vue -->
<template>
  <div>
    <router-view :key=" $route.fullPath "></router-view>
  </div>
</template>

<!-- main.js -->
import { createApp } from 'vue'
import { createRouter, createWebHistory } from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'
import User from './components/User.vue'

const router = createRouter({
  history: createWebHistory(),
  routes: [
    { path: '/', component: Home },
    { path: '/about', component: About },
    { path: '/user/:id', component: User }
  ]
})

createApp(App)
  .use(router)
  .mount('#app')

Dans l'exemple ci-dessus, nous avons défini une route dynamique, qui est '/user/:id'. En utilisant l'objet $route dans le composant, nous pouvons facilement obtenir les paramètres de l'itinéraire dynamique puis charger le contenu correspondant en fonction des paramètres.

De plus, le gestionnaire de routes de Vue3 offre également une meilleure prise en charge des composants asynchrones. Nous pouvons utiliser component: () => import('./components/About.vue') pour charger des composants à la demande et améliorer les performances de chargement des pages.

Conclusion : 
Vue3 a apporté de nombreux progrès et améliorations au gestionnaire de routage par rapport à Vue2, rendant la gestion du routage plus avancée, flexible et conviviale. Nous pouvons implémenter des fonctions telles que le routage dynamique, le routage imbriqué et les composants asynchrones via la nouvelle bibliothèque vue-router@next. Cela facilite la création d’applications frontales complexes.

Références :

  • Documentation officielle de Vue Router : https://router.vuejs.org/
  • Documentation officielle de Vue Router@next : https://next.router.vuejs.org/

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn