Vue后台管理遇到的坑

路由钩子

参数:
to: 即将进入路由的 route 信息
from: 离开路由的 route 信息
next: 继续执行的函数,没有 next() 的此钩子 会彻底 阻止你 进入下一个路由
如果你需要在访问不同路由时候去获取 离开页面 或 者即将进入页面 的动态数据,那么这个地方是个好地方。

例子:     
router.beforeEach((to, from, next) => {
  console.log(to)
  console.log(from)
  if (to.meta.request) {
    console.log(1)
    let token = localStorage.getItem('token')
    if (token) {
      console.log(2)
      // if (Object.keys(from.query).length === 0) {//判断路由来源是否有query,处理不是目的跳转的情况
      //   next()
      // } else {
      //   let redirect = from.query.redirect//如果来源路由有query
      //   if (to.path === redirect) {//这行是解决next无限循环的问题
      //     next()
      //   } else {
      //     next({ path: redirect })//跳转到目的路由
      //   }
      // }
      next()
    } else {
      router.push({ name: "login" })
    }
  } else {
    next()
  }
})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值