vue的路由映射问题及解决方案


Posted in Javascript onOctober 14, 2019

今天在项目中遇到了一个问题,明明在Router文件夹下的路由js映射文件中,配置好了,如下:

// 生日贺卡
 { path: 'birthdayRemind', component: load('@/components/app/birthdayRemind/BirthdayRemind')}

然后我是通过进入home页面,点击一个图标,进入到这个生日贺卡页面,路径如下:

const tmpConfig = [
 { funcName: '生日贺卡', link: '/home/0/work/birthdayRemind/BirthdayRemind', icon: require('../../assets/img/home/toolbar1.png') },
];

然后整个文件路径如下图所示:

vue的路由映射问题及解决方案

然后,路径啥的都有,结果死活进入不了BirthdayRemind.vue页面

解决问题

搞了挺久,最后同事告诉我,原来是图标 link 属性的路径写错了,正确是这样写的:

const tmpConfig = [
 { funcName: '生日贺卡', link: '/home/0/work/birthdayRemind', icon: require('../../assets/img/home/toolbar1.png') },
 { funcName: '应用中心', link: '/home/0/work/appCenter', icon: require('../../assets/img/home/toolbar1.png') },
];

是不是觉得很奇怪,明明具体的文件路径为:link: ' /home /0 / work / birthdayRemind / BirthdayRemind ',却报错,而写该文件的上一层文件夹路径(link: '/ home/0/work/birthdayRemind),却写对了?

分析问题

我想了一下,其实还是蛮有道理的,因为在Router的路由映射js当中,Router首先是从path属性开始查找,找到对应的path,就会load具体的路径。例如上面的 link: '/home/0/work/birthdayRemind',Router就会在vue的路由映射表中,查找path,path: '/birthdayRemind' 的名字映射,然后就会自动load出具体的vue地址,然后就渲染出来。

而错误的写法是: localhost:8080 / birthdayRemind / BirthdayRemind , 很明显,路由映射表中,没有一个path: '/ birthdayRemind / BirthdayRemind' ,所有就渲染不出来了对应的vue

因为工作项目的不同,这里的/home/o/work/ 就相当于 localhost:8080/ ,相当于跟路径。

总结:

以后如果想要Router查找到相应的vue路径,只需要 http://localhost:8080 + path ,就能找到并渲染出相应的页面了。

ps:这里的path是在路由映射表中写的,格式如下:

import Rank from 'components/rank/rank'
 
 
export default new Router({
 routes: [
  // {
  //  path: '/',
  //  name: 'Hello',
  //  component: Hello
  // },
  {
   path: '/',
   redirect: '/recommend'
  },
  {
   path: '/rank',
   component: Rank
  }
 ]
})

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
双击滚屏-常用推荐
Nov 29 Javascript
Display SQL Server Version Information
Jun 21 Javascript
js树形控件脚本代码
Jul 24 Javascript
JavaScript Object的extend是一个常用的功能
Dec 02 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
Jan 01 Javascript
使用jquery.qrcode生成彩色二维码实例
Aug 08 Javascript
Bootstrap布局组件教程之Bootstrap下拉菜单
Jun 12 Javascript
jQuery插件扩展测试实例
Jun 21 Javascript
angularjs中ng-attr的用法详解
Dec 31 Javascript
JS解决position:sticky的兼容性问题的方法
Oct 17 Javascript
React数据传递之组件内部通信的方法
Dec 31 Javascript
vue中使用vue-pdf的方法详解
Sep 05 Javascript
浅谈Vue为什么不能检测数组变动
Oct 14 #Javascript
为什么Vue3.0使用Proxy实现数据监听(defineProperty表示不背这个锅)
Oct 14 #Javascript
Vue3.0中的monorepo管理模式的实现
Oct 14 #Javascript
Vue3 源码导读(推荐)
Oct 14 #Javascript
基于JS实现父组件的请求服务过程解析
Oct 14 #Javascript
JavaScript this在函数中的指向及实例详解
Oct 14 #Javascript
vue循环数组改变点击文字的颜色
Oct 14 #Javascript
You might like
谈谈PHP语法(3)
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
利用PHP如何实现Socket服务器
2015/09/23 PHP
CI框架实现框架前后端分离的方法详解
2016/12/30 PHP
PHP实现打包zip并下载功能
2018/06/12 PHP
Smarty模板配置实例简析
2019/07/20 PHP
PHP实现cookie跨域session共享的方法分析
2019/08/23 PHP
js prototype截取字符串函数
2010/04/01 Javascript
javascript Event对象详解及使用示例
2013/11/22 Javascript
跨域传值即主页面与iframe之间互相传值
2013/12/09 Javascript
javascript操作referer详细解析
2014/03/10 Javascript
nodejs的10个性能优化技巧
2014/07/15 NodeJs
js实现简单的联动菜单效果
2015/08/19 Javascript
JavaScript实现图片切换效果
2017/08/12 Javascript
使用watch监听路由变化和watch监听对象的实例
2018/02/24 Javascript
JavaScript实现拖动对话框效果的实现代码
2020/10/12 Javascript
[01:12](回顾)DOTA2国际邀请赛,全世界DOTAer的盛宴
2014/07/01 DOTA
详解Python map函数及Python map()函数的用法
2017/11/16 Python
简单实现python数独游戏
2018/03/30 Python
PyQt4编程之让状态栏显示信息的方法
2019/06/18 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
python 控制Asterisk AMI接口外呼电话的例子
2019/08/08 Python
python生成器推导式用法简单示例
2019/10/08 Python
pycharm 更改创建文件默认路径的操作
2020/02/15 Python
Python3+selenium配置常见报错解决方案
2020/08/28 Python
Python直接赋值及深浅拷贝原理详解
2020/09/05 Python
Cotton On香港网站:澳洲时装连锁品牌
2018/11/01 全球购物
Feelunique澳大利亚:欧洲的化妆品零售电商
2019/12/18 全球购物
大学三年的自我评价
2013/12/25 职场文书
劳动实践课感言
2014/02/01 职场文书
关于是否需要写商业计划书
2014/02/07 职场文书
创业大赛策划书
2014/03/01 职场文书
关于教师节的演讲稿
2014/09/04 职场文书
2015大学生自我评价范文
2015/03/03 职场文书
小学教师节活动总结
2015/03/20 职场文书
React forwardRef的使用方法及注意点
2021/06/13 Javascript