当前位置:网站首页>Global, exclusive, local Routing Guard
Global, exclusive, local Routing Guard
2022-04-23 02:22:00 【Dégivrage du sucre entier laiteux toute la saison】
Un.、Créer une route
//Créer un routeur,Et exposer
export default new VueRouter({
routes: [{
path: '/about',
component: About
},
{
path: '/home',
component: Home
},
]
})
2.、Global Routing Guard
Les gardes du monde sont en place router Au - dessus,Celui - ci peut être router/index.js On a trouvé.Vous pouvez mettre en place des gardes globaux ici,Bien sûr, il est possible d'installer des gardes globaux ailleurs,Par exemple, main.js Ou App.vue.Cela dépend des besoins spécifiques.
Les gardes de route:Sécuriser le routage.(Autorité)
(1)Global Pre - Router Guard
Avant chaque changement de route/Lors de l'initialisation-Appelé
Global Pre - GuardbeforeEachLa fonction de rappel de Global Guard accepte trois arguments comme:to,from,next
Description des trois paramètres:
- toSauter dans l'objet de routage cible
- fromObjet de routage actuellement prêt à partir
- nextAprès avoir appelé la méthode,Passez à la prochaine fonction de crochet,L'action est similaire àexpressOukoaAppelé dans le middlewarenext
nextDescription de la fonction:
- SinextAppel normal de la fonctionnext()Indique une entrée normale dans la route de saut,L'état de navigation est confirmé
- SinextLa fonction est passée dansfalse,Par exemple::next(false), Indique un saut de navigation terminal
- next La fonction peut également passer le paramètre , Indique un saut vers le routage de l'instruction next("/"),Ounext({ path:"/" })Routage des paramètres
router.beforeEach((to, from, next) => {
console.log('Garde de route avant', to, from);
if (to.meta.isAuth) { // Besoin d'authentification
if (localStorage.getItem('school') === 'atguigu') {
next() //Release
} else {
alert('Le nom de l'école est incorrect.,Pas de permission!')
}
} else {
next()
}
});
(2)Global post - Routing Guard
afterEachGlobal Routing Guard
afterEach La fonction de rappel de Global Guard accepte deux arguments comme to,from
Description des deux paramètres :
- toSauter dans l'objet de routage cible
- fromObjet de routage actuellement prêt à partir
afterEachNon.next()Fonction de rappel,Parce queafterEachLorsqu'il est appelé, Le routage est terminé .
router.afterEach((to, from) => {
console.log('Garde de route arrière', to, from);
document.title = to.meta.title || 'Système Silicon Valley'
});
Trois、Garde de route exclusive
Les fonctions de crochet utilisées sont compatibles avec Global Routing Guard ,PourbeforeEnter,La différence est, Les gardes exclusifs de routage sont définis dans les enregistrements de routage , Global Routing Guard est défini dans le fichier d'entrée , Les gardes exclusifs de routage ne sont disponibles que lorsque le routage entre , Global route Guard est que tous les sauts de route seront interceptés .
Une fonction de crochet qui peut également être définie lors de la configuration d'une seule route .
//Autorisation ou non
meta: { isAuth: true, title: 'Nouvelles' },
//Garde de route exclusive
beforeEnter: (to, from, next) => {
// ...
console.log('Garde de route exclusive', to, from);
if (to.meta.isAuth) { // Besoin d'authentification
if (localStorage.getItem('school') === 'atguigu') {
next() //Release
} else {
alert('Le nom de l'école est incorrect.,Pas de permission!')
}
} else {
next()
}
}
Quatre、 Gardes de route en groupe
1. Les gardes à l'intérieur d'un composant sont définis à l'intérieur du composant , Routeur dans l'objet Component options
2. Il y a trois gardes de routage à l'intérieur du composant ,Pour:beforeRouteEnter,beforeRouteUpdate,beforeRouteLeave.
3. beforeRouteEnterAppelé avant la création du composant, Impossible d'utiliser l'Instance composant this
4. beforeRouteUpdate Routage modifié ,Mais appelé lorsque le composant est réutilisé,Par exemple,:Routage dynamique
5. beforeRouteLeave Ce composant est appelé lorsque la navigation part
export default {
name:'About',
//Par les règles de routage, L'entrée dans ce composant est appelée
beforeRouteEnter (to, from, next) {
console.log('About-beforeRouteEnter', to, from);
if (to.meta.isAuth) { // Besoin d'authentification
if (localStorage.getItem('school') === 'atguigu') {
next() //Release
} else {
alert('Le nom de l'école est incorrect.,Pas de permission!')
}
} else {
next()
}
},
//Par les règles de routage,Appelé à quitter ce composant
beforeRouteLeave (to, from, next) {
console.log('About-beforeRouteLeave', to, from);
next()
}
}
版权声明
本文为[Dégivrage du sucre entier laiteux toute la saison]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230221596951.html
边栏推荐
- 005_ redis_ Set set
- Heap overflow of kernel PWN basic tutorial
- 智能辅助功能丰富,思皓X6安全配置曝光:将于4月23日预售
- C # import details
- 89 logistic regression user portrait user response prediction
- PTA: Romantic reflection [binary tree reconstruction] [depth first traversal]
- Tp6 Alibaba Cloud SMS Window message Curl Error 60: SSL Certificate Problem: Unable to get local issuer Certificate
- The importance of ERP integration to the improvement of the company's system
- Gray scale range corresponding to colors (red, yellow, green, blue, purple, pink, brick red and magenta) in HSV color space
- day18--栈队列
猜你喜欢
每日一题(2022-04-21)——山羊拉丁文
Network jitter tool clumsy
012_ Access denied for user ‘root‘@‘localhost‘ (using password: YES)
Fast and robust multi person 3D pose estimation from multiple views
leetcode:27. Remove element [count remove]
小程序 canvas 画布半圆环
This is how the power circuit is designed
Leetcode46 Full Permutation
每日一题冲刺大厂第十六天 NOIP普及组 三国游戏
006_redis_jedis快速入门
随机推荐
007_Redis_Jedis连接池
89 régression logistique prédiction de la réponse de l'utilisateur à l'image de l'utilisateur
校园转转二手市场源码
智能辅助功能丰富,思皓X6安全配置曝光:将于4月23日预售
How many steps are there from open source enthusiasts to Apache directors?
New book recommendation - IPv6 technology and application (Ruijie version)
数仓建表111111
PTA: 点赞狂魔
Day18 -- stack queue
openstack 服务的启动
[NK] Niuke monthly race 48 D
89 logistic regression user portrait user response prediction
[nk]牛客月赛48 D
The importance of ERP integration to the improvement of the company's system
Introduction to micro build low code zero Foundation (lesson 2)
001_redis设置存活时间
Campus transfer second-hand market source code
Log4j2 configuration
Want to experience homekit smart home? Why don't you take a look at this smart ecosystem
LeetCode 283. Move zero (simple, array) Day12