Vue.js est un framework JavaScript progressif largement utilisé pour la construction d’interfaces utilisateur interactives et réactives. L’un des aspects clés de Vue.js est sa capacité à créer des applications à page unique (SPA), qui permettent de fournir une expérience utilisateur fluide en chargeant dynamiquement le contenu sans recharger entièrement la page.
Pour créer des SPA avec Vue.js, l’utilisation du système de routage (routing) est essentielle. Le routing permet de gérer la navigation au sein de l’application en associant des URL spécifiques à des composants Vue spécifiques. Cela signifie que lorsque l’utilisateur navigue entre différentes sections de l’application, seul le contenu pertinent est chargé, ce qui améliore les performances et offre une expérience utilisateur plus fluide.

Le routing dans Vue.js est géré par le module vue-router
, qui est une bibliothèque officielle de Vue.js dédiée à la gestion de la navigation. Voici comment vous pouvez créer des applications à page unique avec Vue.js en utilisant le routing :
-
Installation de vue-router : Tout d’abord, vous devez installer
vue-router
dans votre projet Vue.js. Vous pouvez le faire via npm ou yarn en exécutant la commande suivante dans votre terminal :npm install vue-router
ou
csharpyarn add vue-router
-
Configuration du routing : Une fois
vue-router
installé, vous devez le configurer dans votre application Vue.js. Cela implique généralement la création d’un fichier de configuration de routage où vous définissez les routes de votre application et associez chaque route à un composant Vue spécifique. Par exemple :javascript// main.js import Vue from 'vue'; import VueRouter from 'vue-router'; import App from './App.vue'; import Home from './components/Home.vue'; import About from './components/About.vue'; Vue.use(VueRouter); const routes = [ { path: '/', component: Home }, { path: '/about', component: About } ]; const router = new VueRouter({ routes }); new Vue({ router, render: h => h(App) }).$mount('#app');
-
Création des composants : Vous devez créer les composants Vue correspondant à chaque route de votre application. Dans l’exemple ci-dessus, nous avons des composants
Home
etAbout
. -
Utilisation des routes : Enfin, dans votre fichier de modèle principal (généralement
App.vue
), vous pouvez utiliser les balises
pour indiquer à Vue.js où afficher le contenu de chaque route. Par exemple :html<template> <div id="app"> <router-view>router-view> div> template> <script> export default { name: 'App' } script>
Lorsque l’utilisateur navigue vers l’URL ‘/’ ou ‘/about’, le contenu du composant
Home
ouAbout
sera chargé dynamiquement dans l’emplacement spécifié par
.
En résumé, le routing dans Vue.js avec vue-router
est un moyen puissant de créer des applications à page unique qui offrent une expérience utilisateur fluide et réactive. En définissant les routes de votre application et en associant chaque route à un composant Vue spécifique, vous pouvez gérer facilement la navigation au sein de votre application et offrir une expérience utilisateur de haute qualité.
Plus de connaissances
Bien sûr, plongeons un peu plus dans les détails sur la façon de construire des applications à page unique (SPA) avec Vue.js en utilisant le système de routage (routing) avec vue-router.
Vue Router
Vue Router est une bibliothèque officielle de Vue.js qui permet de gérer la navigation dans une application Vue.js. Elle offre de nombreuses fonctionnalités avancées pour la navigation, telles que la gestion des paramètres d’URL, la navigation programmée, les transitions entre les routes, la protection des routes, etc.
Configuration avancée des routes
Outre la définition des routes de base, Vue Router offre la possibilité de configurer des routes plus avancées, telles que les routes dynamiques et imbriquées.
Routes dynamiques
Les routes dynamiques permettent de capturer des segments d’URL variables en tant que paramètres. Par exemple, si vous avez une application de blog et que vous souhaitez afficher un article spécifique en fonction de son ID dans l’URL, vous pouvez définir une route dynamique comme ceci :
javascript{ path: '/article/:id', component: Article }
Dans ce cas, lorsque l’URL correspond à ‘/article/123’, le composant Article
sera chargé et vous pourrez accéder à l’ID de l’article via this.$route.params.id
dans le composant.
Routes imbriquées
Les routes imbriquées permettent de créer une hiérarchie de routes dans votre application. Par exemple, vous pouvez avoir une route principale pour un tableau de bord et des routes enfants pour les différentes fonctionnalités du tableau de bord :
javascript{
path: '/dashboard',
component: Dashboard,
children: [
{ path: 'profile', component: Profile },
{ path: 'settings', component: Settings }
]
}
Dans cet exemple, lorsque l’URL correspond à ‘/dashboard/profile’, le composant Profile
sera chargé dans la vue principale du tableau de bord.
Navigation programmatique
Outre la navigation via des liens dans les templates, Vue Router permet également de naviguer de manière programmatique à l’aide de méthodes JavaScript. Par exemple, pour naviguer vers une autre route après une action utilisateur, vous pouvez utiliser la méthode this.$router.push()
:
javascript// Naviguer vers la route /about
this.$router.push('/about');
// Naviguer vers une route dynamique avec des paramètres
this.$router.push({ name: 'article', params: { id: 123 }});
Navigation et transitions
Vue Router offre également des fonctionnalités avancées pour gérer les transitions entre les routes, ce qui peut améliorer l’expérience utilisateur en donnant une impression de fluidité lors de la navigation. Vous pouvez utiliser des transitions CSS ou des animations JavaScript pour créer des effets visuels lors du changement de route.
Protection des routes
Vue Router permet également de protéger certaines routes en les rendant accessibles uniquement aux utilisateurs authentifiés ou à certaines autorisations. Vous pouvez utiliser des fonctions de navigation globales pour vérifier l’état de l’authentification de l’utilisateur avant de lui permettre d’accéder à une route spécifique.
Conclusion
En résumé, Vue Router est un outil puissant pour gérer la navigation dans les applications Vue.js. En combinant la définition de routes simples ou avancées avec des fonctionnalités telles que la navigation programmatique, les transitions et la protection des routes, vous pouvez créer des expériences utilisateur riches et dynamiques dans vos applications à page unique.