vue重复路由_vue后台管理系统,动态添加路由,路由重复

使用vue-router的addRoutes动态添加路由时,子路由重复了。

点击‘职工类型’,路由地址变为‘http://localhost:8123/#/workerType’,显示的却是‘职工列表’

点击‘职工列表’,路由地址变为‘http://localhost:8123/#/workerList’,显示的还是‘职工列表’

点击‘学生类型’,路由地址变为‘http://localhost:8123/#/studentType’,显示的却是‘学生列表’

点击‘学生列表’,路由地址变为‘http://localhost:8123/#/studentList’,显示的还是‘学生列表’

关键代码:

var menuData = [

{

path: '',

componentPath: '/layout/index',

text: '首页',

children: [

{path: '/index', componentPath: '/homepage/index', text: '首页'}

]

},

{

path: '/worker',

componentPath: '/layout/index',

text: '职工管理',

children: [

{path: '/workerType', componentPath: '/workersSystem/workerType', text: '职工类别'},

{path: '/workerList', componentPath: '/workersSystem/workerList', text: '职工列表'}

]

},

{

path: '/student',

componentPath: '/layout/index',

text: '学生管理',

children: [

{path: '/studentType', componentPath: '/studentSystem/studentType', text: '学生类别'},

{path: '/studentList', componentPath: '/studentSystem/studentList', text: '学生列表'}

]

},

{

path: '/college',

componentPath: '/layout/index',

text: '学院管理',

children: [

{path: '/collegeList', componentPath: '/collegeSystem/collegeList', text: '学院列表'}

]

}

]

// 存储路由数据

tools.setStore('menuData', JSON.stringify(menuData));

// 存储权限列表数组,一维数组--_-

tools.setStore('rootList', JSON.stringify(tools.getRootList(menuData)));

// 使用getRoutes函数导入component组件到对应的路由

var routes = tools.getRoutes(menuData);

// 将路由插入到router中,注:页面刷新时会丢失,所以需要监听beforeEach,在其中重新添加

this.$router.addRoutes(routes);

this.$router.push('/index');

tools.js文件

getRoutes (menu) {

var rootRoute = '';

if ( !menu || menu.length <= 0 ) {

return [];

}

for ( var i = 0; i < menu.length; i++ ) {

var item = menu[i];

item.component = () => import(`@/views${item.componentPath}`);

if ( item.children && item.children.length > 0 ) {

item.children = this.getRoutes(item.children);

}

}

console.log(menu);

return menu;

},

是不是getRoutes里面的component引入不对呀?

github地址:https://github.com/sunshineTY…

后台系统登录账户:1 密码:1

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/261371.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Makefile文件编写

Makefile的一般格式如下&#xff1a; target&#xff1a; components TAB rule 第一行表示的是依赖关系.第二行是规则. 一个通用的Makefile例子&#xff0c;本人觉得还可以&#xff0c;所以就推荐一下 ob file1 #ob为一变量&#xff0c;以后如果要改变源程序…

tonardo做web服务器播放大视频内存泄露问题的解决

之前为了实现websocket来完成网页的推送&#xff0c;所以使用了tonardo作为web服务器。但是如果网页中含有视频插件的话&#xff0c;特别是经常要播放大视频的话&#xff0c;在linux环境下&#xff0c;经常发现 python进程会莫名其妙的死掉。通过内存检测命令动态查看&#xff…

yii框架源码分析之创建controller

使用yii框架的url路径一般形如hostname/?rxxxx/xxxx/xxxx&sdfsdsfdsf我们可以看到有时会使用protected目录下的controller&#xff0c;有时会使用module中controller&#xff0c;具体是如何处理的呢&#xff0c;请看如下的分析&#xff1a;以下代码摘自yii框架核心代码%Yi…

Android通用流行框架大全

Android通用流行框架大全 1. 缓存 名称描述DiskLruCacheJava实现基于LRU的磁盘缓存2.图片加载 名称描述Android Universal Image Loader一个强大的加载&#xff0c;缓存&#xff0c;展示图片的库Picasso一个强大的图片下载与缓存的库Fresco一个用于管理图像和他们使用的内存的库…

Windows Shell 编程 第六章 【来源:http://blog.csdn.net/wangqiulin123456/article/details/7987951】...

第六章 快捷方式的最短路径 Windows Shell允许存储任何对象的引用到系统范围内的任何地点。例如&#xff0c;当你从一个文件夹拖拽可执行程序到另一个文件夹时&#xff0c;鼠标自动改变形状给出除拷贝和移动文件之外的第三种选择。 除非你确定&#xff0c;否则可执行文件是不能…

python素材和代码_python之文件和素材

11.1 打开文件open函数open(name[,mode[,buffering]])>>>f open(rC:\text\somefile.txt)11.1.1 文件模式open函数中模式参数的常用值r读模式w写模式a追加模式b二进制模式读/写模式通过在模式参数中使用U参数能够在打开文件时使用通用的换行符支持模式&#xff0c;在这…

类库开发的设计准则

MSDN:类库开发的设计准则转载于:https://www.cnblogs.com/Joetao/articles/2095307.html

ShowMsg函数妙用

为什么80%的码农都做不了架构师&#xff1f;>>> 在对DedeCMS做2次开发的时候可能提示信息会经常用到&#xff0c;为了方便在此将ShowMsg方法提取出来&#xff0c;使用方法&#xff1a;ShowMsg&#xff08;“提示信息”&#xff0c;“进行跳转的页面URL”&#xff0…

二进制文件比较

一 工具 使用Araxis Merge类似的工具来比较两个文件夹是否相同&#xff0c;比较两个二进制文件是否相同。1&#xff09; 比较两个文件夹是否相同&#xff0c;只要有文件的名字不同就认为两个文件夹不相同2&#xff09; 文件修改为新的名字后&#xff0c;二进制比较时仍与原文件…

springboot 分页查询参数_10. Spring Boot 中的分页查询

在Spring Boot中使用分页查询主要依赖了org.springframework.data.domain.*包下面的及格分页类的功能。使用分页查询常见有两种方式&#xff0c;一种是直接在程序中写死分页的参数(页数&#xff0c;每页大小等)&#xff0c;需要依赖PageableDefault注解。该注解指明了分页参数的…

碰到一个微软的bug:CWinAppEx::GetString

在调试公司项目代码的时候&#xff0c;有一个系统设置的功能&#xff0c;里面需要从注册表中去读取数据&#xff0c;因为使用了MFC框架所以&#xff0c;为了简化代码直接使用了CWinAppEx::GetString 、CWinAppEx::SetString、CWinAppEx::GetInt、CWinAppEx::SetInt等等框架内函…

关系数据库SQL之可编程性函数(用户自定义函数)

前言 在关系型数据库中除了前面几篇基本的数据库和数据表操作之外&#xff0c;还提供了可编程性的函数、存储过程、事务、触发器及游标。 本文介绍的是函数。 函数分为两种&#xff1a; 系统函数用户自定义函数准备工作 这里以银行存取款为例说明。 1、创建数据表 --创建账户信…

土压力图怎么画_电气系统图怎么画?

电气系统图&#xff0c;又称为电气系统控制图&#xff0c;是通过使用国家规定的图形符号和文字代号代表各种电器、电机及元件&#xff0c;根据生产机械的要求和各种电器的原理&#xff0c;用线条代表导线连接起来&#xff0c;用于展示供电线路与各设备工作原理及其相互关系的一…

mvc

Model、View、Controller 一、Model Proxy-->数据端(与远程服务器通信) 二、view Mediator--->操作视图组件(添加事件监听器&#xff0c;发送或接收Notification) 三、Controller Command映射(获取Proxy,通过收发Notification操作别的Command) 框架以外要做的&#xff1a…

C#中往数据库插入/更新时候关于NUll空值的处理

本文转载&#xff1a;http://blog.csdn.net/chybaby/article/details/2338943 今天碰到个问题。。SqlCommand对传送的参数中如果字段的值是NULL具然不进行更新操作&#xff0c;也不提示任何错误。。。百思不得其解。。。先作个记录&#xff0c;再查资料看看什么原因。 暂时的解…

考勤助手——数据库3.0版本

基于数据库1.0及2.0版本&#xff0c;我们将细节的地方逐一进行讨论&#xff0c;设计出了数据库3.0版本。 根据ER图&#xff0c;进行基本表的设计如下&#xff1a; 转载于:https://www.cnblogs.com/GG-TEN/p/5471019.html

System.Data.OleDb.OleDbException: INSERT INTO 语句的语法错误

这个错误主要是因为INSERT INTO 语句里包括了access的关键字&#xff0c;可以通过对插入的字段中加上括号[]即可。如&#xff1a;insert into key_list([key],[ZM]) values(key,ZM)即可解决。转载于:https://www.cnblogs.com/liuhaitao/archive/2011/07/07/2100561.html

Ruby中的%表示法

%{String} 用于创建一个使用双引号括起来的字符串 %Q{String} 用于创建一个使用双引号括起来的字符串 %q{String} 用于创建一个使用单引号括起来的字符串 %r{String} 用于创建一个正则表达式字面值 %w{String} 用于将一个字符串以空白字符切分成一个字符串数组…

幽灵交易策略_幽灵交易者策略(附源代码)

NO1 . 前言正如幽灵交易者的名字&#xff0c;该策略的核心思路是&#xff0c;在真实下单交易之前&#xff0c;先虚拟出一个交易&#xff0c;如果这个虚拟的交易是亏损的&#xff0c;那么下一次才启动真实的交易。NO2 . 策略简介该策略思路源自于交易者的观察&#xff0c;交易者…

test blog

blogsdf sdfsd转载于:https://blog.51cto.com/11570194/1771304