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 相关文章推荐
中文字符串截取的js函数代码
Apr 17 Javascript
javascript 兼容各个浏览器的事件
Feb 04 Javascript
如何制作幻灯片(代码分享)
Jan 06 Javascript
jQuery插件FusionCharts绘制的2D双面积图效果示例【附demo源码】
Apr 11 jQuery
angular ng-click防止重复提交实例
Jun 16 Javascript
vue.js全局API之nextTick全面解析
Jul 07 Javascript
JS使用贪心算法解决找零问题示例
Nov 27 Javascript
javascript中一些奇葩的日期换算方法总结
Nov 14 Javascript
浅谈JS和jQuery的区别
Mar 27 jQuery
vue响应式系统之observe、watcher、dep的源码解析
Apr 09 Javascript
JS代码检查工具ESLint介绍与使用方法
Feb 04 Javascript
vant中的toast轻提示实现代码
Nov 04 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产生随机字符串函数
2006/12/06 PHP
解决GD中文乱码问题
2007/02/14 PHP
PHP setcookie() cannot modify header information 的解决方法
2009/01/09 PHP
php四种定界符详解
2017/02/16 PHP
php-fpm重启导致的程序执行中断问题详解
2019/04/29 PHP
PHP7新特性
2021/03/09 PHP
(function(){})()的用法与优点
2007/03/11 Javascript
获取css样式表内样式的js函数currentStyle(IE),defaultView(FF)
2011/02/14 Javascript
一个很有趣3D球状标签云兼容IE8
2014/08/22 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
Vue-resource实现ajax请求和跨域请求示例
2017/02/23 Javascript
简单实现jQuery弹幕效果
2017/05/06 jQuery
原生JS+HTML5实现的可调节写字板功能示例
2018/08/30 Javascript
解决Layui数据表格显示无数据提示的问题
2019/11/14 Javascript
vue+elementui实现点击table中的单元格触发事件--弹框
2020/07/18 Javascript
[02:32]DOTA2英雄基础教程 美杜莎
2014/01/07 DOTA
wxPython中文教程入门实例
2014/06/09 Python
Python模拟百度登录实例详解
2016/01/20 Python
Flask框架中密码的加盐哈希加密和验证功能的用法详解
2016/06/07 Python
Python编程实现两个文件夹里文件的对比功能示例【包含内容的对比】
2017/06/20 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
2018/10/31 Python
使用Template格式化Python字符串的方法
2019/01/22 Python
python可视化篇之流式数据监控的实现
2019/08/07 Python
原生python实现knn分类算法
2019/10/24 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
HTML5中外部浏览器唤起微信分享
2020/01/02 HTML / CSS
房产公证书范本
2014/04/10 职场文书
优秀班主任经验交流材料
2014/06/02 职场文书
产品委托授权书范本
2014/09/16 职场文书
四风问题专项整治工作情况报告
2014/10/28 职场文书
百日宴上的祝酒词
2015/08/10 职场文书
养成教育主题班会
2015/08/13 职场文书
初二数学教学反思
2016/02/17 职场文书
教你使用一行Python代码玩遍童年的小游戏
2021/08/23 Python
Python使用PyYAML库读写yaml文件的方法
2022/04/06 Python
springboot读取resources下文件的方式详解
2022/06/21 Java/Android