vue项目 main.js 里面路由拦截 获取 不到vuex 解决方案

项目背景及需求  vue+vue-router+vuex 做权限管理

登录之后 我把用户信息存在vuex中 方法不赘述  因为我们只有两个角色 所以我存的 assRole  true or false; 简称 A B;A为false B为True

routes.js 里面 meta里面配置了 role 如下

{

    path: "/fund/details",

    name: "fund_details",

    component: resolve => require(["@/views/fund/details"], resolve),

    meta: {

        requireAuth: true,

        role: '1',

    },

},

我使用了beforeEach 钩子函数 来做路由拦截 

首先to.meta.role 获取角色 然后从vuex里面取我存的 角色信息 然后以为搞完收工  

隔了几天在页面调接口时发现 我每次刷新  B角色的页面会自动跳转到 根路径 这是为啥了 百思不得其解  然后把所有store.state  信息 log出来都是有的 但是我把判断条件打印 一直是true  很诡异 然后我又取 state里面具体的值 也都是 空的

所以在main.js 里面的 钩子函数中 其实是获取不到vuex的  我又重新再登录的时候存入了 localStorage  终于取到 

解决 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值