Routes et navigation avec Vue Router

Par aaziz, 20 février, 2025

Pour gérer efficacement la navigation entre les pages dans une application Vue.js, l'utilisation de Vue Router est recommandée. Elle permet de créer des applications monopage (SPA) où le routage est géré côté client, offrant une expérience utilisateur fluide sans rechargement complet de la page.

Installation de Vue Router

Pour intégrer Vue Router dans un projet Vue.js, il faut l'installer via npm :

npm install vue-router

Ensuite, il faut configurer le routeur en définissant les différentes routes de l'application et en les associant aux composants correspondants :

import { createRouter, createWebHistory } from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'

const routes = [
  { path: '/', component: Home },
  { path: '/about', component: About }
]

const router = createRouter({
  history: createWebHistory(),
  routes
})

export default router

Dans l'instance principale de Vue, il faut importer et utiliser le routeur :

import { createApp } from 'vue'
import App from './App.vue'
import router from './router'

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

Navigation entre les pages

Avec Vue Router, la navigation entre les pages peut être gérée à l'aide de liens :

<template>
  <nav>
    <router-link to="/">Accueil</router-link>
    <router-link to="/about">À propos</router-link>
  </nav>
  <router-view></router-view>
</template>

Le composant génère des liens qui permettent de naviguer sans recharger la page, tandis que le composant affiche le composant correspondant à la route actuelle.

Pour des applications nécessitant un routage simple sans dépendre d'une bibliothèque externe, il est possible de gérer le routage en rendant dynamiquement les composants en fonction du chemin actuel. Cependant, pour des applications plus complexes, l'utilisation de Vue Router est fortement conseillée en raison de ses fonctionnalités avancées et de sa facilité d'intégration.

Références:

Commentaires1

nbergeron

il y a 1 mois 3 semaines

Article intéressant et qui tombe bien vu que j'ai justement besoin d'en apprendre plus sur vue ! J'aimerais savoir comment on peut échanger les données entre les pages entre les pages en utilisant le routage. Est-ce que la variable $store est la seule et meilleure façon ?

Merci pour ta réponse,