iView-admin 动态路由问题的解决方法


Posted in Javascript onOctober 03, 2018

 IView-admin 在使用的时候

跳转客户详细后,点击其它页面,然后再从选项卡进入页面时,发下控制台 报错,不能正常打开客户详细页面

[vue-router] Route with name 'customer/detail/:id' does not exist

地址栏的地址变为 http://localhost:8080/  正确的地址为 http://localhost:8080/customer/detail/150

路由器配置如下

{

  path: 'detail/:id',

  name: 'customer/detail',

  meta: {

   title: '客户详细',

   hideInMenu: true

  },

  component: () => import('@/view/customer/detail/detail.vue')

}

最后找到原因是,IView-admin 路由跳转使用的是

turnToPage (name) {

 if (name.indexOf('isTurnByHref_') > -1) {

  window.open(name.split('_')[1])

  return

 }

 this.$router.push({

  name: name

 })
},

采用 this.$router.push({name: name}) 来跳转

在浏览器的Local Storage里发现是这样存储的

{"name":"customer/detail","path":"/customer/detail/150","meta":{"title":"客户详细","hideInMenu":true}}

name 上边没有客户详细的ID信息,所以跳转的时候出现了问题。

现将 mian.vue truenToPage 下新增代码,采用this.$router.push({path: path})方式来跳转

turnToPagePath (path) {

 if (name.indexOf('isTurnByHref_') > -1) {

  window.open(name.split('_')[1])

  return

 }

 this.$router.push({

  path: path

 })
},

然后修改 main.vue handleClick 部分代码

handleClick (item) {

 // this.turnToPage(item.name)

 this.turnToPagePath(item.path)

}

问题解决

由此引发了新问题

从列表打开id为150的客户信息,再从列表打开id为140的客户信息。从别的页面点选项卡跳转到客户详细页面 发现还是进入到 150的客户信息,而不是最新 140的客户信息

解决方法,修改 util.js 

之前的代码

export const getNewTagList = (list, newRoute) => {

 const { name, path, meta } = newRoute

 let newList = [...list]

 if (newList.findIndex(item => item.name === name) >= 0) return newList

 else newList.push({ name, path, meta })

 return newList

}

修改后的代码 

export const getNewTagList = (list, newRoute) => {

 const { name, path, meta } = newRoute

 let newList = [...list]

 let _index = newList.findIndex(item => item.name === name)

 if (_index >= 0) {

  if (newList[_index].path !== path) {  // 如果name已经存在,判断path值

   newList[_index].path = path      // 如果不一样,修改path值

  }

  return newList

 } else newList.push({ name, path, meta })

 return newList

}

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript 学习 - 提高篇
Feb 02 Javascript
javascript 选择文件夹对话框(web)
Jul 07 Javascript
javascript 多种搜索引擎集成的页面实现代码
Jan 02 Javascript
javascript tips提示框组件实现代码
Nov 19 Javascript
js固定DIV高度,超出部分自动添加滚动条的简单方法
Jul 10 Javascript
javascript实现微信分享
Dec 23 Javascript
JS HTML5实现拖拽移动列表效果
Aug 27 Javascript
jQuery实现动态删除LI的方法
May 30 jQuery
详解Vue内部怎样处理props选项的多种写法
Nov 06 Javascript
解决layer弹出层自适应页面大小的问题
Sep 16 Javascript
Layui选项卡制作历史浏览记录的方法
Sep 28 Javascript
vue之a-table中实现清空选中的数据
Nov 07 Javascript
Angular resolve基础用法详解
Oct 03 #Javascript
解决angularjs service中依赖注入$scope报错的问题
Oct 02 #Javascript
angular.js实现列表orderby排序的方法
Oct 02 #Javascript
Angularjs实现数组随机排序的方法
Oct 02 #Javascript
解决angular双向绑定无效果,ng-model不能正常显示的问题
Oct 02 #Javascript
angularjs获取到My97DatePicker选中的值方法
Oct 02 #Javascript
angular ng-model 无法获取值的处理方法
Oct 02 #Javascript
You might like
PHP提取中文首字母
2008/04/09 PHP
PHP 超链接 抓取实现代码
2009/06/29 PHP
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
php实现mysql数据库分表分段备份
2015/06/18 PHP
js 页面输出值
2008/11/30 Javascript
ie下动态加态js文件的方法
2011/09/13 Javascript
JavaScript高级程序设计(第3版)学习笔记2 js基础语法
2012/10/11 Javascript
防止xss和sql注入:JS特殊字符过滤正则
2013/04/18 Javascript
JScript分割字符串示例代码
2013/09/04 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
JavaScript数据结构学习之数组、栈与队列
2017/05/02 Javascript
node.js利用mongoose获取mongodb数据的格式化问题详解
2017/10/06 Javascript
Vue2.0用户权限控制解决方案
2017/11/29 Javascript
Element-UI踩坑之Pagination组件的使用
2018/10/29 Javascript
详解如何在Vue项目中导出Excel
2019/04/19 Javascript
Node登录权限验证token验证实现的方法示例
2020/05/25 Javascript
[05:28]刀塔密之一:团结则存
2014/07/03 DOTA
[01:44]Ti10举办地公布
2019/08/25 DOTA
python实现跨文件全局变量的方法
2014/07/07 Python
PyCharm代码提示忽略大小写设置方法
2018/10/28 Python
Python实用工具FuckIt.py介绍
2019/07/02 Python
python tkinter实现彩球碰撞屏保
2019/07/30 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
python使用信号量动态更新配置文件的操作
2020/04/01 Python
win10从零安装配置pytorch全过程图文详解
2020/05/08 Python
Python urllib2运行过程原理解析
2020/06/04 Python
python中加背景音乐如何操作
2020/07/19 Python
机电专业毕业生推荐信
2013/11/10 职场文书
求职信的最佳写作思路
2014/02/01 职场文书
《在大海中永生》教学反思
2014/02/24 职场文书
共青团员自我评价范文
2014/09/14 职场文书
2015年售票员工作总结
2015/04/29 职场文书
2015年科研工作总结范文
2015/05/13 职场文书
行政后勤人员工作计划应该怎么写?
2019/08/16 职场文书
nginx反向代理配置去除前缀案例教程
2021/07/26 Servers
使用compose函数优化代码提高可读性及扩展性
2022/06/16 Javascript