Vue-路由护卫

Vue路由护卫是一种用于在访问路由之前和之后执行某些逻辑的机制。它们可以用来控制用户是否可以访问某个特定路由,并在路由变化时执行一些操作。在Vue路由中,有三种类型的路由护卫:
**全局路由护卫:**在任何路由变化时都会触发的路由护卫。可以用来检查用户的登录状态或者执行某些全局的操作。全局路由护卫分为三种:
beforeEach: 在进入每个路由之前触发的路由护卫。
afterEach: 在离开每个路由之后触发的路由护卫。
beforeResolve: 在导航被确认之前触发的路由护卫。
**路由独享的守卫:**只对某个特定的路由生效的路由护卫。可以为每个路由配置自己的路由护卫函数。
**组件级别的守卫:**在某个路由对应的组件内部触发的路由护卫。可以在组件内部定义beforeRouteEnter、beforeRouteUpdate和beforeRouteLeave这三个钩子函数来实现。
使用路由守卫可以控制访问权限,实现用户认证和授权,以及在路由切换时执行一些操作,如获取数据、清理资源等。

步骤:
1.下载 js-cookie (npm i js-cookie@3.0.1)
2.登录界面引入

import Cookie from 'js-cookie'

3.token信息存入cookie,用于不同页面的通信

Cookie.set("token",token)

4.//添加全局前置导航守卫

router.beforeEach((to, from, next) => {
    //判断token是否存在
    const token = Cookie.get('token')
    if (!token && to.name !== 'login') {
        //用户未登录且当前未在登录界面
        next({ name: 'login' })
    } else if (token && to.name === 'login') {
        next({ name: 'home' })
    } else {
        next()
    }
})
  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值