博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
vue前后分离动态路由和权限管理方案
阅读量:5991 次
发布时间:2019-06-20

本文共 1051 字,大约阅读时间需要 3 分钟。

需求

需要根据不同的角色来显示不同的菜单

问题

系统是前后分离模式开发的,出现了后端接口和前端路由都需要权限管理。

思路

  • 后端的接口肯定得验证权限
  • 在前端做好组件名和组件的映射
  • 前端的路由通过后端发回的json动态生成,对于比较细粒度的可以通过css来控制和隐藏

方案

使用vue-router的router.addRoutes(routes)来动态生成路由。

注意事项

vue-router 是按照路由表里的顺序来查找路由的,如果你的404页面在动态添加的路由前面,则需要把404路由单独移出来,最后再添加。

示例代码

const Hello ={    template : '
哈哈哈
'}const page404 ={ path : '/*', name : 'error_404', meta : { title : '404-页面不存在' }, component : resolve => { require(['./views/error_page/404.vue'], resolve); }};const router = new VueRouter();//组件名和组件的映射let comsMap ={ "hello" : Hello}let resData = '[{"name":"首页","path":"/index","component":"hello"}]'; //表示从接口返回的数据function paraseRouter(routerJson, router){ let dynamicRouters = []; JSON.parse(routerJson).forEach(r=>{ dynamicRouters.push( { path : r['path'], component : comsMap[r['component']], name : r['name'] } ) }); dynamicRouters.push(page404) router.addRoutes(dynamicRouters)}paraseRouter(resData,router);

转载地址:http://ultlx.baihongyu.com/

你可能感兴趣的文章
Elasticsearch基本概念及核心配置文件详解
查看>>
一次使用Python连接数据库生成二维码并安装为windows服务的工作任务
查看>>
ios_基础篇1_关键字(strong和weak)
查看>>
PageControl
查看>>
我的友情链接
查看>>
远程桌面用户输入法的配置
查看>>
【Getty】Java NIO框架设计与实现
查看>>
常用监控命令工具-----vmstat
查看>>
说一下刚接触Gitlab,汉化遇到的坑。
查看>>
iCloud存储原理与部分操作
查看>>
IIS无法启动,提示“服务没有及时响应启动或控制请求”
查看>>
6.《SQLSERVER2012之T-SQL教程》T-SQL子查询
查看>>
Day1_HTML_超链接
查看>>
IT名词解释与专业术语
查看>>
经验:利用RAC环境解决本机SQLPLUS异常一例SP2-1503
查看>>
Tomcat 系统架构与设计模式,第 2 部分: 设计模式分析(《深入分析java Web》技术内幕-11)...
查看>>
谈谈如何学Linux和它在如今社会的影响
查看>>
通过yum方式在CentOS 7上部署Kippo
查看>>
风险管理、收尾管理、知识产权管理
查看>>
【安全牛学习笔记】Kali Linux***测试方法
查看>>