MODULE V07 — EXERCICES

Exercices Vue Router

10 exercices progressifs pour maîtriser la navigation SPA avec Vue Router 4.

10 exercices Validation automatique Solutions téléchargeables (.js)
EX 1

createRouter — configuration de base

Tâche : Créez un router Vue Router 4 avec createRouter et createWebHashHistory. Ajoutez 2 routes minimales. Branchez-le sur une app Vue avec app.use(router).

EX 2

Routes de base — 3 routes avec path et component

Tâche : Définissez un tableau routes avec exactement 3 routes : /, /articles, /about. Chaque route doit avoir path et component.

EX 3

RouterLink — navigation déclarative

Tâche : Créez un composant Nav qui utilise <RouterLink> pour naviguer vers /, /articles et /about. Pas de <a href> classiques !

EX 4

RouterView — afficher le composant de la route

Tâche : Créez un composant AppLayout avec un header de navigation (RouterLink) et un <RouterView /> dans le <main>.

EX 5

useRoute — lire les params de route

Tâche : Créez un composant UserPage pour la route /user/:id. Utilisez useRoute() pour lire route.params.id et l'afficher dans le template.

EX 6

useRouter — naviguer avec push()

Tâche : Dans un composant LoginForm, utilisez useRouter() pour naviguer vers /dashboard avec router.push() quand l'utilisateur soumet le formulaire.

EX 7

Route nommée — name + router.push({ name })

Tâche : Ajoutez name: 'home' à la route /. Naviguez ensuite avec router.push({ name: 'home' }) et avec <RouterLink :to="{ name: 'home' }">.

EX 8

Navigation guard beforeEach — log de navigation

Tâche : Enregistrez un guard router.beforeEach qui affiche dans la console le chemin de départ (from.path) et le chemin d'arrivée (to.path) à chaque navigation.

EX 9

Query params — ?page=1 avec useRoute().query

Tâche : Créez un composant ListePage qui lit route.query.page pour afficher le numéro de page (défaut : 1). URL exemple : /#/liste?page=3.

EX 10

Routes protégées — meta.requiresAuth + guard redirection

Tâche : Ajoutez meta: { requiresAuth: true } à la route /dashboard. Créez un guard beforeEach qui redirige vers /login si l'utilisateur n'est pas authentifié.

🧠 Prêt pour le QCM ? Testez vos connaissances sur Vue Router — 10 questions.
Passer le QCM V07
← Cours V07 ▶ Mini-projet : Blog SPA Suivant : Pinia →