


Comment implémenter le routage dynamique et les gardes de routage dans Vue
Comment implémenter le routage dynamique et les gardes de routage dans Vue
Dans Vue, le routage est un concept très important, lié aux sauts de page, au contrôle des autorisations, etc. Cet article présentera comment implémenter le routage dynamique et les gardes de routage, et donnera des exemples de code spécifiques.
1. Routage dynamique
Le routage dynamique fait référence à la génération de différentes configurations de routage en fonction de différentes conditions ou paramètres. Le routage dynamique de Vue est implémenté à l'aide de Vue Router.
- Installer Vue Router
Tout d'abord, nous devons installer Vue Router. Exécutez la commande suivante dans le répertoire racine du projet :
npm install vue-router
- Configurer le fichier de routage
Créez un répertoire de routeur dans le répertoire src du projet, et créez un fichier index.js dans le répertoire de configuration du routage.
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) export default new Router({ routes: [] })
- Générer dynamiquement des itinéraires
Nous pouvons obtenir une configuration de routage dynamique via l'interface backend ou d'autres méthodes, puis l'ajouter à la configuration de routage.
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [] }) // 获取动态路由配置 // 假设通过接口获取到的路由数据为response.data const dynamicRoutes = response.data // 添加动态路由 router.addRoutes(dynamicRoutes) export default router
Avec le code ci-dessus, nous pouvons générer dynamiquement des routes basées sur les données renvoyées par l'interface d'arrière-plan et les ajouter à la configuration de Vue Router.
2. Route guard
Route guard peut être utilisé pour contrôler l'accès de l'utilisateur à un certain itinéraire. Par exemple, l'utilisateur doit se connecter avant de pouvoir accéder à une certaine page. Vue Router fournit la fonction de garde de route.
Tout d'abord, nous devons comprendre plusieurs concepts liés aux gardes de route :
- Pré-garde globale : exécutée avant le changement de routage, elle peut être utilisée pour le contrôle global des autorisations et d'autres opérations.
- Garde exclusive d'itinéraire : elle n'est valable que pour un certain itinéraire et peut être utilisée pour le contrôle des autorisations locales et d'autres opérations.
- Gardes au sein d'un composant : valables uniquement pour un certain composant et peuvent être utilisés pour effectuer des opérations telles que le contrôle des autorisations au sein du composant.
- Global front guard
Nous pouvons utiliser des gardes globales dans le fichier de configuration de routage (router/index.js). Par exemple, pour implémenter le contrôle des autorisations de connexion :
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [] }) // 添加全局前置守卫 router.beforeEach((to, from, next) => { // 判断用户是否登录 const isLogin = localStorage.getItem('isLogin') // 如果用户未登录,并且访问的页面需要登录权限,则跳转至登录页 if (!isLogin && to.meta.requireAuth) { next('/login') } else { next() } }) export default router
Dans le code ci-dessus, nous ajoutons des gardes frontales globales via la méthode router.beforeEach()
. Dans cette garde, nous déterminons si l'utilisateur est connecté et effectuons les sauts correspondants en fonction de différentes situations. router.beforeEach()
方法来添加全局前置守卫。在该守卫中,我们判断用户是否登录,并根据不同情况进行相应的跳转。
- 路由独享守卫
除了全局前置守卫外,我们还可以为某个路由单独配置守卫。例如,实现管理员权限控制:
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [ { path: '/admin', component: AdminComponent, meta: { requireAdmin: true } // 设置路由元信息 } ] }) export default router
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [ { path: '/admin', component: AdminComponent, meta: { requireAdmin: true } // 设置路由元信息 } ] }) // 添加全局前置守卫 router.beforeEach((to, from, next) => { // 判断用户是否为管理员 const isAdmin = localStorage.getItem('isAdmin') // 如果用户不是管理员,并且访问的页面需要管理员权限,则跳转至首页 if (!isAdmin && to.meta.requireAdmin) { next('/') } else { next() } }) export default router
在以上代码中,我们给/admin
路由配置了元信息meta.requireAdmin
- Gardettes exclusives pour les itinéraires
// router/index.js import Vue from 'vue' import Router from 'vue-router' Vue.use(Router) const router = new Router({ routes: [] }) export default router
// App.vue <template> <div> <!-- 页面内容 --> </div> </template> <script> export default { // 组件内的守卫:每次路由切换后滚动到顶部 beforeRouteUpdate(to, from, next) { window.scrollTo(0, 0) next() } } </script>
meta.requireAdmin
pour la route /admin
afin de spécifier que la page nécessite autorisations d'administrateur. Ensuite, utilisez le Front Guard global pour déterminer si l'utilisateur est un administrateur et effectuez le saut correspondant.
Protections à l'intérieur des composants
🎜🎜En plus des protections avant globales et des protections exclusives à l'itinéraire, Vue Router fournit également des protections à l'intérieur des composants. Par exemple, pour contrôler le comportement de défilement de la page : 🎜rrreeerrreee🎜Dans le code ci-dessus, nous utilisons la méthode beforeRouteUpdate() dans le composant App.vue pour faire défiler la page vers le haut après chaque changement d'itinéraire. 🎜🎜Résumé : cet article présente comment implémenter le routage dynamique et les gardes de routage dans Vue, et donne des exemples de code spécifiques. Le routage dynamique peut générer différents itinéraires en obtenant une configuration de routage dynamique. Les gardes d'itinéraire peuvent être utilisés pour contrôler l'accès des utilisateurs à un certain itinéraire, y compris les gardes avant globaux, les gardes exclusifs d'itinéraire et les gardes au sein des composants. La mise en œuvre de ces fonctions est très importante pour créer des applications frontales complexes. 🎜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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

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.

Vue.js convient aux projets de petite et moyenne taille et aux itérations rapides, tandis que React convient aux applications grandes et complexes. 1) Vue.js est facile à utiliser et convient aux situations où l'équipe est insuffisante ou l'échelle du projet est petite. 2) React a un écosystème plus riche et convient aux projets avec des performances élevées et des besoins fonctionnels complexes.

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.

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.

L'utilisation de bootstrap dans vue.js est divisée en cinq étapes: installer bootstrap. Importer un bootstrap dans main.js. Utilisez le composant bootstrap directement dans le modèle. Facultatif: style personnalisé. Facultatif: utilisez des plug-ins.

Vous pouvez ajouter une fonction au bouton VUE en liant le bouton dans le modèle HTML à une méthode. Définissez la logique de la fonction de méthode et d'écriture dans l'instance Vue.

Il existe trois façons de se référer aux fichiers JS dans Vue.js: spécifiez directement le chemin à l'aide du & lt; script & gt; étiqueter;; importation dynamique à l'aide du crochet de cycle de vie monté (); et l'importation via la bibliothèque de gestion de l'État Vuex.

L'option Watch dans Vue.js permet aux développeurs d'écouter des modifications de données spécifiques. Lorsque les données changent, regardez déclenche une fonction de rappel pour effectuer des vues de mise à jour ou d'autres tâches. Ses options de configuration incluent immédiatement, qui spécifie s'il faut exécuter un rappel immédiatement, et profond, ce qui spécifie s'il faut écouter récursivement les modifications des objets ou des tableaux.
