vue全局前置路由守卫、全局后置路由守卫及独享路由守卫

全局前置路由守卫

在路由跳转之前,我们可以对路由进行权限限制,它会传递一个回调函数,里面有三个参数

    //  to: 目标路由
    //  from: 当前路由
    //  next() 跳转  
router.beforeEach((to, from, next) => {

  if (to.meta.isAuth) {
    if (localStorage.getItem('name') == 'zz') {
      next()
    }
    else {
      alert('你没有权限')
    }
  }
  else {
    next()
  }
})

全局后置导航守卫

不会接受 next 函数也不会改变导航本身,可以更新页面title,懒加载结束等

router.afterEach((to, from) => {
  document.title = to.meta.title
})

路由独享守卫

指在单个路由配置的时候也可以设置的钩子函数,和beforeEach完全相同,如果两个都设置了,beforeEnter则在beforeEach之后紧随执行。在路由配置上直接定义beforeEnter守卫

beforeEnter 守卫 只在进入路由时触发,不会在 paramsquery 或 hash 改变时触发。例如,从 /users/2 进入到 /users/3 或者从 /users/2#info 进入到 /users/2#projects。它们只有在 从一个不同的 路由导航时,才会被触发。

const router = new VueRouter({
  routes: [
    {
      path: '/good',
      component: Good,
      beforeEnter: (to, from, next) => {
        // ...
      }
    }
  ]
})

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值