Maison >interface Web >Voir.js >Qu'est-ce que le routeur Vue et comment l'utiliser pour la navigation d'application à une seule page (SPA)?
Vue Router est le routeur officiel de Vue.js, un cadre JavaScript progressif. C'est un composant crucial pour créer des applications (spas) (spas) à une seule page, car il vous permet de gérer la navigation et le routage au sein de votre application sans nécessiter de recharges de page complète. Au lieu de cela, il ne met à jour que les parties nécessaires de la page, créant une expérience utilisateur plus lisse et plus réactive.
Pour utiliser le routeur Vue pour la navigation SPA, vous devez l'installer d'abord à l'aide de NPM ou de fil:
<code class="bash">npm install vue-router # or yarn add vue-router</code>
Ensuite, vous créez une instance de routeur:
<code class="javascript">import { createRouter, createWebHistory } from 'vue-router'; import Home from './components/Home.vue'; import About from './components/About.vue'; import Contact from './components/Contact.vue'; const routes = [ { path: '/', component: Home }, { path: '/about', component: About }, { path: '/contact', component: Contact }, ]; const router = createRouter({ history: createWebHistory(), routes, }); export default router;</code>
Ce code crée des itinéraires pour trois composants ( Home
, About
, Contact
). createWebHistory
utilise l'API d'histoire du navigateur pour les URL plus propres. Vous pouvez également utiliser createMemoryHistory
pour les tests ou le rendu côté serveur.
Enfin, vous devez utiliser l'instance de routeur dans votre application principale:
<code class="javascript">import { createApp } from 'vue'; import App from './App.vue'; import router from './router'; createApp(App).use(router).mount('#app');</code>
Maintenant, la navigation vers /about
ou /contact
rendra le composant correspondant sans rechargement de page complète. Les liens dans votre application peuvent utiliser le composant <router-link></router-link>
:
<code class="vue"><router-link to="/about">About</router-link></code>
Les voies imbriquées vous permettent de créer des structures hiérarchiques au sein de votre application, reflétant un menu de navigation imbriqué ou une structure organisationnelle. Ceci est réalisé en définissant les itinéraires enfants dans la propriété des children
d'une route parentale.
<code class="javascript">const routes = [ { path: '/users', component: Users, // Parent component children: [ { path: ':id', component: UserDetail }, // Child route with parameter { path: 'new', component: UserCreate }, // Child route ], }, ];</code>
Dans cet exemple, /users
est la voie parentale. /users/:id
est une route enfant avec un segment dynamique :id
, représentant l'ID d'un utilisateur. /users/new
est une autre route enfant pour créer de nouveaux utilisateurs. L'accès au paramètre :id
dans le composant UserDetail
est effectué via l'objet $route
:
<code class="javascript"><template> <p>User ID: {{ $route.params.id }}</p> </template></code>
Les paramètres d'itinéraire vous permettent de passer des données via l'URL, ce qui rend votre application plus dynamique. Ils sont définis à l'aide de Colons ( :
avant le nom du paramètre dans le chemin.
La structuration efficace de vos itinéraires est cruciale pour la maintenabilité et l'évolutivité. Voici quelques meilleures pratiques:
name
. Cela simplifie la navigation et rend votre code plus propre:<code class="javascript">{ path: '/about', name: 'About', component: About }</code>
Ensuite, naviguez en utilisant le nom:
<code class="javascript">this.$router.push({ name: 'About' })</code>
beforeEnter
, beforeEach
) pour contrôler l'accès à des itinéraires spécifiques en fonction de l'authentification ou d'autres conditions.push
, replace
, go
)?Vue Router fournit plusieurs méthodes de navigation:
push(location)
: c'est la méthode la plus courante. Il ajoute une nouvelle entrée d'historique, permettant à l'utilisateur de revenir à la page précédente à l'aide du bouton de retour du navigateur.replace(location)
: Cela navigue également vers un nouvel emplacement mais remplace l'entrée actuelle dans la pile d'historique. L'utilisateur ne pourra pas revenir à la page précédente à l'aide du bouton de retour.go(n)
: cette méthode déplace la pile d'historique vers l'avant ou vers l'arrière par n
étapes. go(1)
équivaut à cliquer sur le bouton Forward, tandis que go(-1)
équivaut à cliquer sur le bouton Retour.Voici un tableau résumant les différences:
Méthode | Ajoute une entrée historique | Remplace l'entrée actuelle | Fonctionnalité du bouton de retour |
---|---|---|---|
push
|
Oui | Non | Activé |
replace
|
Non | Oui | Désactivé |
go(n)
|
Dépend de n
|
Dépend de n
|
Dépend de n
|
Le choix de la bonne méthode dépend de vos besoins spécifiques. push
est généralement préférée pour la plupart des scénarios de navigation, tandis que replace
est utile pour les situations où vous ne voulez pas que l'utilisateur puisse revenir à la page précédente (par exemple, après une soumission de formulaire réussie). go
fournit un contrôle plus granulaire sur la pile historique.
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!