路由守卫

78 阅读1分钟

作用:对路由进行权限控制

分类:全局守卫,独享守卫,组件内守卫

一、全局守卫

前置路由守卫

//全局后置路由守卫——初始化的时候被调用,每次路由切换前被调用。参数有三个: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()

})

二、独享路由守卫

概念: 某一个路由所独享的守卫

image.png

三、组件内路由守卫

概念: 通过路由规则,进入或者离开某个组件时被调用 image.png