vue项目 main.js 里面路由拦截 获取 不到vuex 解决方案
项目背景及需求 vue+vue-router+vuex 做权限管理登录之后 我把用户信息存在vuex中 方法不赘述 因为我们只有两个角色 所以我存的 assRole true or false; 简称 A B;A为false B为Trueroutes.js 里面 meta里面配置了 role 如下{path: "/fund/details",name: "...
项目背景及需求 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)