vue2.0 后台管理 菜单动态加载如何实现?

后台管理菜单动态配置,根据用户权限进行动态生成。这如何通过异步请求实现?

阅读 11k
4 个回答

可以根据用户登录时,传送权限到前端,然后前端根据权限在router的部分进行权限判断动态加载某些菜单

这个之前是前端实现的,通过自定义了一个指令,<v-link v-role="'xxx'">,然后在指令里判断store里的role是否包含xxx,如果没就remove掉这个dom

 role: {
    // 指令的定义 (TBD:有没有before'inserted'这样的钩子函数用?)
    inserted: (el, binding, vnode) => {
      // 权限
      if (binding.value) {
        el.parentElement.removeChild(el)
      }
    }
  }```

目前我们的做法是:router.js静态, 然后在登录的时候获取渲染菜单的数据(即权限), 在routesbeforeEach中判断跳转时用户是否具有该权限, 有则正常跳转, 没有则不跳转(或显示404)

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题