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 相关文章推荐
JavaScript 放大镜 移动镜片效果代码
May 09 Javascript
JQuery中$.each 和$(selector).each()的区别详解
Mar 13 Javascript
jQuery实现气球弹出框式的侧边导航菜单效果
Sep 22 Javascript
干货分享:让你分分钟学会javascript闭包
Dec 25 Javascript
Bootstrap教程JS插件弹出框学习笔记分享
May 17 Javascript
JavaScript实现兼容IE6的收起折叠与展开效果实例
Sep 20 Javascript
Vue代码分割懒加载的实现方法
Nov 23 Javascript
JavaScript使用面向对象实现的拖拽功能详解
Jun 12 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
Jul 24 Javascript
layui实现数据表格table分页功能(ajax异步)
Jul 27 Javascript
js实现全选和全不选
Jul 28 Javascript
vue实现移动端触屏拖拽功能
Aug 21 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
用mysql_fetch_array()获取当前行数据的方法详解
2013/06/05 PHP
PHP获取文件的MD5值并判断是否被修改的例子
2014/06/19 PHP
ThinkPHP页面跳转success与error方法概述
2014/06/25 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP+Javascript实现在线拍照功能实例
2015/07/18 PHP
PHP中遇到的时区问题解决方法
2015/07/23 PHP
yii2 在控制器中验证请求参数的使用方法
2019/06/19 PHP
自己动手开发jQuery插件教程
2011/08/25 Javascript
jQuery的one()方法用法实例
2015/01/19 Javascript
jQuery使用removeClass方法删除元素指定Class的方法
2015/03/26 Javascript
jQuery prototype冲突的2种解决方法(附demo示例下载)
2016/01/21 Javascript
jQuery中JSONP的两种实现方式详解
2016/09/26 Javascript
JS使用tween.js动画库实现轮播图并且有切换功能
2018/07/17 Javascript
jquery ajax加载数据前台渲染方式 不用for遍历的方法
2018/08/09 jQuery
nodejs更新package.json中的dependencies依赖到最新版本的方法
2018/10/10 NodeJs
微信小程序纯文本实现@功能
2020/04/08 Javascript
微信小程序语音同步智能识别的实现案例代码解析
2020/05/29 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
Python实现的排列组合计算操作示例
2017/10/13 Python
Python使用matplotlib绘制随机漫步图
2018/08/27 Python
Pandas库之DataFrame使用的学习笔记
2019/06/21 Python
python 实现将多条曲线画在一幅图上的方法
2019/07/07 Python
Pytorch evaluation每次运行结果不同的解决
2020/01/02 Python
记一次python 爬虫爬取深圳租房信息的过程及遇到的问题
2020/11/24 Python
vue.js刷新当前页面的实例讲解
2020/12/29 Python
中国跨境电商:Tomtop
2017/03/16 全球购物
澳大利亚办公室装修:JasonL Office Furniture
2019/06/25 全球购物
银行服务感言
2014/03/01 职场文书
党员干部公开承诺书
2014/03/26 职场文书
授权委托书格式模板
2014/04/03 职场文书
办理收楼委托书范本
2014/10/09 职场文书
2015年小学数学教师工作总结
2015/05/20 职场文书
2015年财政局工作总结
2015/05/21 职场文书
七年级作文之环保作文
2019/10/17 职场文书
pytorch损失反向传播后梯度为none的问题
2021/05/12 Python
苹果M1芯片安装nginx 并且部署vue项目步骤详解
2021/11/20 Servers