Maison interface Web Voir.js Comment la correspondance d'itinéraire est-elle effectuée dans Vue Router ?

Comment la correspondance d'itinéraire est-elle effectuée dans Vue Router ?

Jul 22, 2023 pm 02:49 PM
路由匹配 (route matching) vue router (vue router) 路由 (router)

Vue Router est le gestionnaire de routage officiel de Vue.js. Cela peut nous aider à basculer et à passer d'une page à l'autre dans des applications à page unique, offrant ainsi aux applications Web une meilleure expérience utilisateur. L'une des fonctions principales de Vue Router est la correspondance d'itinéraire. Cet article présentera comment la correspondance d'itinéraire est effectuée dans Vue Router.

Dans Vue Router, la correspondance d'itinéraire est effectuée via la table de routage (Route Table). La table de routage est définie par le développeur et chaque élément de la table de routage contient le chemin, le composant correspondant et sa configuration associée. Lors de la création d'une instance Vue Router, nous pouvons définir la table de routage en passant un objet de configuration de routage.

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from './components/Home.vue'
import About from './components/About.vue'
import NotFound from './components/NotFound.vue'

Vue.use(VueRouter)

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

const router = new VueRouter({
  routes
})

export default router
Copier après la connexion

Trois entrées de table de routage sont définies dans le code ci-dessus. { path : '/' } indique le chemin racine et le composant correspondant est Home ; { path : '/about' } indique le le chemin est /about, le composant correspondant est About ; { path : '*' } représente d'autres chemins sans correspondance, le composant correspondant est Introuvable. { path: '/' } 表示根路径,对应的组件为 Home{ path: '/about' } 表示路径为 /about,对应的组件为 About{ path: '*' } 表示其他未匹配到的路径,对应的组件为 NotFound

在运行时,当用户访问某个路径时,Vue Router 会根据当前的路径进行匹配,找到对应的路由表项。Vue Router 提供了两种匹配模式:基于 Hash(Hash Mode)和基于 History(History Mode)。

基于 Hash 的匹配模式通过监听 location.hash 的变化来实现路由匹配。例如,当用户访问 /about 路径时,location.hash 的值会变为 #/about,Vue Router 会根据这个 hash 值来匹配到对应的路由表项,并加载相应的组件。

基于 History 的匹配模式使用 HTML5 的 History API,通过监听 location.pathname 的变化来实现路由匹配。例如,当用户访问 /about 路径时,location.pathname 的值会变为 /about,Vue Router 会根据这个路径名来匹配到对应的路由表项,并加载相应的组件。

Vue Router 内部实现了一个路由匹配的算法。它会将路由路径按照 / 进行分割,然后依次进行匹配。对于每个路径段(path segment),Vue Router 会依次判断是否匹配当前路由表项的路径段。

路由匹配支持动态参数,我们可以在路由表项的路径中使用动态参数。例如,{ path: '/user/:id' } 中的 :id 就是一个动态参数。在实际的匹配过程中,当路径中的 id

Au moment de l'exécution, lorsqu'un utilisateur accède à un certain chemin, Vue Router fera correspondre le chemin actuel et trouvera l'entrée de la table de routage correspondante. Vue Router propose deux modes de correspondance : basé sur le hachage (mode de hachage) et basé sur l'historique (mode historique).

Le mode de correspondance basé sur le hachage implémente la correspondance d'itinéraire en surveillant les modifications dans location.hash. Par exemple, lorsqu'un utilisateur accède au chemin /about, la valeur de location.hash deviendra #/about et Vue Router le fera. utilisez cette valeur de hachage pour faire correspondre l'entrée de la table de routage correspondante et charger le composant correspondant.

Le mode de correspondance basé sur l'historique utilise l'API d'historique de HTML5 pour implémenter la correspondance d'itinéraire en surveillant les modifications dans location.pathname. Par exemple, lorsqu'un utilisateur accède au chemin /about, la valeur de location.pathname deviendra /about et Vue Router utilisera ce nom de chemin pour faire correspondre l'entrée de la table de routage correspondante et charger le composant correspondant.

Vue Router implémente en interne un algorithme de correspondance d'itinéraire. Il divisera le chemin de routage en fonction de /, puis les fera correspondre dans l'ordre. Pour chaque segment de chemin, Vue Router déterminera s'il correspond au segment de chemin de l'entrée actuelle de la table de routage. 🎜🎜La correspondance d'itinéraire prend en charge les paramètres dynamiques. Nous pouvons utiliser des paramètres dynamiques dans le chemin des entrées de la table de routage. Par exemple, :id dans { path: '/user/:id' } est un paramètre dynamique. Pendant le processus de correspondance réel, lorsque la partie id du chemin change, Vue Router effectuera une nouvelle correspondance et transmettra la valeur du paramètre dynamique au composant. 🎜🎜En plus de la correspondance de chemin, Vue Router prend également en charge d'autres conditions de correspondance, telles que la redirection (Redirect) et l'alias (Alias). En configurant ces conditions de correspondance, nous pouvons contrôler de manière plus flexible le comportement du routage. 🎜🎜Pour résumer, la correspondance d'itinéraire dans Vue Router se fait via des tables de routage. La table de routage est définie par le développeur et chaque entrée de la table de routage contient le chemin d'accès et les composants correspondants ainsi que leurs configurations associées. Au moment de l'exécution, Vue Router fera correspondre le chemin actuel, trouvera l'entrée de la table de routage correspondante et chargera le composant correspondant. La correspondance d'itinéraire prend en charge les paramètres dynamiques et le comportement de l'itinéraire peut être contrôlé en configurant d'autres conditions de correspondance. 🎜🎜J'espère que cet article pourra aider les lecteurs à comprendre le processus de correspondance d'itinéraire dans Vue Router et à pouvoir l'utiliser de manière flexible dans des projets réels. 🎜

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 de ce site Web
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

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Vue est-elle utilisée pour le frontend ou le backend? Vue est-elle utilisée pour le frontend ou le backend? Apr 03, 2025 am 12:07 AM

Vue.js est principalement utilisé pour le développement frontal. 1) Il s'agit d'un cadre JavaScript léger et flexible axé sur la construction d'interfaces utilisateur et d'applications à une seule page. 2) Le cœur de Vue.js est son système de données réactif, et la vue est automatiquement mise à jour lorsque les données changent. 3) Il prend en charge le développement des composants et l'interface utilisateur peut être divisée en composants indépendants et réutilisables.

Comment créer et utiliser des plugins personnalisés dans vue.js? Comment créer et utiliser des plugins personnalisés dans vue.js? Mar 14, 2025 pm 07:07 PM

L'article discute de la création et de l'utilisation des plugins Vue.js personnalisés, y compris les meilleures pratiques de développement, d'intégration et de maintenance.

Comment utiliser les tremblements d'arbres dans Vue.js pour supprimer le code inutilisé? Comment utiliser les tremblements d'arbres dans Vue.js pour supprimer le code inutilisé? Mar 18, 2025 pm 12:45 PM

L'article discute de l'utilisation des tremblements d'arbre dans Vue.js pour supprimer le code inutilisé, des détails de configuration avec des modules ES6, une configuration de webpack et des meilleures pratiques pour une implémentation efficace. Count de chargement: 159

Vue.js est-il difficile à apprendre? Vue.js est-il difficile à apprendre? Apr 04, 2025 am 12:02 AM

Vue.js n'est pas difficile à apprendre, en particulier pour les développeurs avec une fondation JavaScript. 1) Sa conception progressive et son système réactif simplifient le processus de développement. 2) Le développement basé sur les composants rend la gestion du code plus efficace. 3) Les exemples d'utilisation montrent une utilisation de base et avancée. 4) Les erreurs courantes peuvent être déboguées via Vuedevtools. 5) L'optimisation des performances et les meilleures pratiques, telles que l'utilisation des attributs V-IF / V et clés, peuvent améliorer l'efficacité de l'application.

Quelle est la méthode de conversion des chaînes Vue.js en objets? Quelle est la méthode de conversion des chaînes Vue.js en objets? Apr 07, 2025 pm 09:18 PM

L'utilisation de la chaîne JSON.Parse () à l'objet est la plus sûre et la plus efficace: assurez-vous que les chaînes sont conformes aux spécifications JSON et évitez les erreurs courantes. Utilisez Try ... Catch pour gérer les exceptions pour améliorer la robustesse du code. Évitez d'utiliser la méthode EVAL (), qui présente des risques de sécurité. Pour les énormes cordes JSON, l'analyse de fouet ou l'analyse asynchrone peut être envisagée pour optimiser les performances.

Quelles sont les principales caractéristiques de Vue.js (architecture basée sur les composants, DOM virtuel, liaison réactive des données)? Quelles sont les principales caractéristiques de Vue.js (architecture basée sur les composants, DOM virtuel, liaison réactive des données)? Mar 14, 2025 pm 07:05 PM

Vue.js améliore le développement Web avec son architecture basée sur des composants, son DOM virtuel pour les performances et la liaison des données réactives pour les mises à jour de l'interface utilisateur en temps réel.

Comment configurer VUE CLI pour utiliser différentes cibles de construction (développement, production)? Comment configurer VUE CLI pour utiliser différentes cibles de construction (développement, production)? Mar 18, 2025 pm 12:34 PM

L'article explique comment configurer VUE CLI pour différentes cibles de build, commutation des environnements, optimiser les versions de production et assurer des cartes source dans le développement du débogage.

Comment utiliser Vue avec Docker pour le déploiement conteneurisé? Comment utiliser Vue avec Docker pour le déploiement conteneurisé? Mar 14, 2025 pm 07:00 PM

L'article discute de l'utilisation de Vue avec Docker pour le déploiement, en se concentrant sur la configuration, l'optimisation, la gestion et la surveillance des performances des applications VUE dans les conteneurs.

See all articles