问题:

控制台报错Duplicate named routes,一开始登录,切换用户时都会出现

环境:

vue: 2.6.6 element-ui: 2.10.1 动态权限控制路由

分析:

报错的意思是路由重复定义。查看静态路由并没有出现重复,打断点发现,动态添加路由执行了多次,增加变量控制只添加一次动态路由。解决登录报错,没有解决切换用户报错。切换用户时router对象并没有清空上次动态添加的路由,导致切换用户登录时动态添加路由报错。切换用户时,用户权限会变,所有必须再次动态添加路由。问题关键是切换用户时把router的动态路由清空,重现添加。

$route.matched

  • 类型: Array<RouteRecord>

一个数组,包含当前路由的所有嵌套路径片段的路由记录 。路由记录就是 routes 配置数组中的对象副本 (还有在 children 数组)。

所以重新给Router.matcher赋值可以达到更新路由配置的目的

router.$addRoutes = (params) => {router.matcher = new Router({mode: 'history',routes: [...StaticBaseRouter],}).matcher;router.addRoutes(params)
}

用$addRoutes代替原有的addRoutes,StaticBaseRouter是原有的静态路由

路由重复注册Duplicate named routes相关推荐

  1. vue 路由报[vue-router] Duplicate named routes definition

    这里有两种解决办法: 1.检查下有没有name重名的路由,比如像下面这样: {path: '/storage-pool',name: 'storagePool', // name 1component ...

  2. vue 路由警告 Duplicate named routes definition

    今天在开发的时候,项目报了一个警告  Duplicate named routes definition ,这里记录一下解决方式和思路. 警告产生的原因 根据提示内容,我们大概猜测是和路由的name有 ...

  3. [vue-router] Duplicate named routes definition

    浏览器告警信息 [vue-router] Duplicate named routes definition: { name: "index", path: "/inde ...

  4. Duplicate named routes definition:

    [vue-router] Duplicate named routes definition: { name: "模板", path: "/exam/" } 这 ...

  5. Duplicate named routes definition

    初始化后台菜单的时候报了一堆Duplicate named routes definition, 原因:没有判断addRoutes是否成功,以下为正确逻辑:判断vuex中是否存在menus,当存在之后 ...

  6. 【记录21】[vue-router] Duplicate named routes definition: { name: “details“, path: “/equiment/details“

    问题: 报错或预警:[vue-router] Duplicate named routes definition: { name: "details", path: "/ ...

  7. Duplicate named routes definition重复的路由名

    改为这样就可以了

  8. vue-router.esm.js?081a:16 [vue-router] Duplicate named routes definition(问题篇)

    1.vue路由报的警告,原因是路由name名称重复了.如下图: 2.解决办法: 找到src文件下router下的index.js文件. 修改name,将相同的name改一下名称 3.保存刷新页面,看控 ...

  9. 浏览器出现的报错信息为:Duplicate named routes definition: { name: home, path: /index }

    路由这样写就会报上面的错误: {path: '/',name: 'home',component: home,redirect: '/index', }, {path: '/index',name: ...

最新文章

  1. linux ssh 隧道 tunnel 一般场景用法
  2. 10.STM32中用I2C接口发送数据到EEPROM寄存器在从此寄存器读数据
  3. ​Mysql数据读写分离(多实例配置)
  4. 推荐15个让新手爱不释手的Python高级库
  5. 牛客网(剑指offer) 第十二题 数值的整数次方
  6. Mybatis映射文件SQL语句模糊查询,#和$的区别和注意事项
  7. 行先知 为您的办公室管理提供方便
  8. MTK 驱动开发(28)--6797平台 TP 移植
  9. LINUX:read命令
  10. 一句Python,一句R︱数据的合并、分组、排序、翻转、集合
  11. 【收集】个人认为比较实用的电脑工具软件(附带安装包下载)
  12. Python时区设置与pytz的应用
  13. amd显卡用黑苹果输出黑屏_黑苹果XFX讯景显卡刷vBIOS教程,使其黑苹果显卡更稳定完美,不再黑屏...
  14. 拉钩网前端项目实战02
  15. java为什么匿名内部类的参数引用需要添加final?
  16. 论文开题报告的研究基础怎么写?
  17. 秉火429笔记之一初识STM32
  18. 推荐一位玩自动化、爬虫的 Python 硬核爱好者
  19. 最新液氨市场的价格 液氨价格受那些因素影响
  20. Google 使用技巧

热门文章

  1. 零基础入门前端编程,是先学HTML5,还是JavaScript?
  2. Scratch_28讲_flappy birds飞翔的小鸟
  3. Invalid HTTP_HOST header: 'xxx.xx.xxx.xxx:8000'. You may need to add 'xxx.xx' to ALLOWED_HOSTS
  4. 图解国家网信办《生成式人工智能服务管理办法(征)》| 附下载
  5. golang 初始化并赋值_声明和初始化
  6. 把竖屏视频转为横屏,这样操作
  7. 苹果关闭无线服务器,使用苹果手机一定要关闭这四大功能,让手机更加省电、更加流畅...
  8. 使用numba加速python
  9. mysql5.19安装教程_MySQL5.5.19安装图解
  10. springboot毕设项目校园商品订购平台jql7i(java+VUE+Mybatis+Maven+Mysql)