作用:对路由进行权限控制
分类:全局守卫,独享守卫,组件内守卫
一、全局守卫
前置路由守卫
//全局后置路由守卫——初始化的时候被调用,每次路由切换前被调用。参数有三个:to、from、next
router.beforeEach((to, from, next) => {
let loToken = localStorage.getItem('token');
if (loToken) {
if (to.path === '/login') {
next('/')
} else {
store.dispatch('getUserInfo')
next();
}
} else {
if (to.path === '/login') {
next();
} else {
next('/login');
}
}
});
后置路由守卫
//全局后置路由守卫——初始化的时候被调用,每次路由切换之后被调用。参数有两个:to、from
router.afterEach(()=>{
global.SocketService()
})
二、独享路由守卫
概念: 某一个路由所独享的守卫
三、组件内路由守卫
概念: 通过路由规则,进入或者离开某个组件时被调用