当前位置:网站首页>Use of five routing guards
Use of five routing guards
2022-04-23 17:15:00 【MiMenge】
What is route guard ?
It can be simply understood as the of routing components ’ Guard ’, In the process of entering a route, you must first leave your guard , Guards through other routes can access other routes .
Global route guard
Guard routes configured globally , All route navigation will be affected by the global route guard
- Global front route guard
In the process of routing and navigation , The page will enter the pre routing guard before jumping
Triggered before route switching , You can control the switching behavior of the route
beforeEach(to, from, next){}
Parameters : to The information of the target route of the handover is saved
from Save the information of the starting route of switching
next Control whether route navigation switching is blocked
-
Global post route guard
Post routing guard , Triggered after route navigation switching , It can be triggered after the route switching is successful , No need to switch next
afterEach(to, from){}
Parameters to The information of the target route of the handover is saved from Save the information of the starting route of switching
-
The global routing guard can be combined with meta Use
meta {} Save user-defined information in the form of key value pairs , It can be used with routing guard
Exclusive routing guard
beforeEnter(to, from, next){}
Use in a separate routing configuration , Control routing behavior separately , Similar to the global pre routing guard
test — Verification is required to jump to the specified route token, If not, intercept
import Router from 'vue-router';
import Vue from 'vue';
Vue.use(Router);
const routes = [{
path: '/',
name: 'index',
component: () => import('../views/index'),
// Establish routing rules
meta: {
isA: false }
}, {
path: '/about',
name: 'about',
component: () => import('../views/about'),
meta: {
isA: true }
}, {
path: '/self',
name: 'self',
component: () => import('../views/self'),
meta: {
isA: false }
}, {
path: '/route',
name: 'route',
component: () => import('../views/route'),
meta: {
isA: false },
// Route exclusive guard
// brforeEnter(to, from, next) {
// console.log(to, from, next());
// // This route has separate verification rules
// },
}]
const router = new Router({
mode: 'history',
routes,
})
// Global front route guard
// example - -- If not token You can't jump
router.beforeEach((to, from, next) => {
// console.log(to, from, to.meta.isA);
// Intercept according to the route
if (to.meta && to.meta.isA) {
// To determine if there is token, If not, intercept and jump
if (!localStorage.getItem('token')) {
alert(' No authority ')
return;
}
next();
} else {
next()
}
});
// Global post route guard
router.afterEach((to, from) => {
console.log(to, from);
document.title = to.name;
});
export default router;
Intercept
After a successful jump
You can change the corresponding title
Component guard
Similar to the use of global routing guard , However, this guard is only for a single component
Enter the component guard --- Trigger before entering the component
beforeRouteEnter(to, from, next){}
Leave the component guard --- Trigger after leaving the component
beforeRouteLeave(to, from, next){}
- test
export default {
name: "Route",
// Component guard ---- Trigger when entering the component --- The hook triggers before the lifecycle
beforeRouteEnter(to, from, next) {
console.log(" Enter the assembly ");
next();
},
// Component guard --- Triggered when leaving the component --- Before the hook is about to be destroyed (beforedestroy) Trigger
beforeRouteLeave(to, from, next) {
console.log(" Leave component ");
next();
},
beforeMount() {
console.log(" Life cycle beforeMount");
},
mounted() {
console.log(" Life cycle mounted");
},
deactivated() {
console.log(" Life cycle deactivated");
},
activated() {
console.log(" Life cycle activated");
},
beforeCreate() {
console.log(" Life cycle beforeCreate");
},
beforeDestroy() {
console.log(" Life cycle beforeDestroy");
},
destroyed() {
console.log(" Life cycle destroyed");
},
Entering and leaving components route
版权声明
本文为[MiMenge]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/04/202204230553027341.html
边栏推荐
- Clickhouse - data type
- Website_ Collection
- JS to find the character that appears three times in the string
- [simple understanding of database]
- 1-3 nodejs installation list configuration and project environment
- Understanding of RPC core concepts
- First knowledge of go language
- 1-4 configuration executable script of nodejs installation
- Promise (I)
- Shell-sort命令的使用
猜你喜欢
Milvus 2.0 质量保障系统详解
Using quartz under. Net core -- general properties and priority of triggers for [5] jobs and triggers
[WPF binding 3] listview basic binding and data template binding
[logical fallacy in life] Scarecrow fallacy and inability to refute are not proof
自定义my_strcpy与库strcpy【模拟实现字符串相关函数】
ASP. NET CORE3. 1. Solution to login failure after identity registers users
Nacos + aspnetcore + Ocelot actual combat code
Go language, array, string, slice
JS, entries(), keys(), values(), some(), object Assign() traversal array usage
【生活中的逻辑谬误】稻草人谬误和无力反驳不算证明
随机推荐
Use of shell awk command
freeCodeCamp----shape_ Calculator exercise
[problem solving] [show2012] random tree
ClickHouse-数据类型
Seven cattle upload pictures (foreground JS + background C API get token)
C语言函数详解
Using quartz under. Net core -- a simple trigger of [7] operation and trigger
Some problems encountered in recent programming 2021 / 9 / 8
ASP. Net core dependency injection service life cycle
Using quartz under. Net core -- job attributes and exceptions of [4] jobs and triggers
Shortcut keys (multiline)
SQL: How to parse Microsoft Transact-SQL Statements in C# and to match the column aliases of a view
2. Electron's HelloWorld
[PROJECT] small hat takeout (8)
Website_ Collection
Conversion between hexadecimal numbers
Self use learning notes - connected and non connected access to database
Solution architect's small bag - 5 types of architecture diagrams
websocket
Paging SQL