vue使用router.beforeEach()

router.beforeEach()一般用来做一些进入页面的限制。比如没有登录,就不能进入某些页面,只有登录了之后才有权限查看某些页面。。。说白了就是路由拦截。

1、我们可以在路由中做以下配置,表示当前路由下的页面需要登录权限

meta:{requireAuth:true//true为这个页面需要登录权限 }

 

 

 2、在main.js中写上路由拦截

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
router.beforeEach((to,from,next)=>{<br>  //从cookie中取值并给vux中的token赋值
  store.commit('setToken',Cookie.get('token'))<br>  //如果vux有值就讲登录状态改成1
  if(store.state.token){
    store.commit('changIsSignIn',1)
  }<br> //判断是否为true,如果为true就是要登录,去判断token是否存在。存在就执行,不存在就跳转登录页面
  if(to.meta.requireAuth){
    if(store.state.token){
      next()
    }else{
      next({path:'/login'})
    }
  }else{
    next()
  }
})

  

posted @   杰_森  阅读(19613)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示