项目背景及需求  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  终于取到 

解决 

Logo

前往低代码交流专区

更多推荐