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 编程引入命名空间的方法
Jun 29 Javascript
javascript 网页跳转的方法
Dec 24 Javascript
extjs 为某个事件设置拦截器
Jan 15 Javascript
跟着Jquery API学Jquery之一 选择器
Apr 07 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
Aug 15 Javascript
cnblogs 代码高亮显示后的代码复制问题解决实现代码
Dec 14 Javascript
js之onload事件的一点使用心得
Aug 14 Javascript
详解AngularJS控制器的使用
Mar 09 Javascript
js每隔两秒输出数组中的一项(实例)
May 28 Javascript
微信小程序实现购物页面左右联动
Feb 15 Javascript
vue 移动端注入骨架屏的配置方法
Jun 25 Javascript
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
Jan 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
php输入流php://input使用示例(php发送图片流到服务器)
2013/12/25 PHP
CodeIgniter模板引擎使用实例
2014/07/15 PHP
PHP中strncmp()函数比较两个字符串前2个字符是否相等的方法
2016/01/07 PHP
PHP页面输出搜索后跳转下一页的处理方法
2016/09/30 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
PHP文件系统管理(实例讲解)
2017/09/19 PHP
几个javascript操作word的参考代码
2009/10/26 Javascript
JQuery为textarea添加maxlength属性的代码
2010/04/07 Javascript
javascript attachEvent绑定多个事件执行顺序问题
2010/10/20 Javascript
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
2012/09/02 Javascript
jquery固定底网站底部菜单效果
2013/08/13 Javascript
js获得网页背景色和字体色的方法
2014/03/21 Javascript
JS弹出层遮罩,隐藏背景页面滚动条细节优化分析
2016/04/29 Javascript
JSON字符串转换JSONObject和JSONArray的方法
2016/06/03 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
JavaScript使用forEach()与jQuery使用each遍历数组时return false 的区别
2016/08/26 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
JavaScript原型继承_动力节点Java学院整理
2017/06/30 Javascript
原生JS进行前后端同构
2018/04/22 Javascript
Vue $emit $refs子父组件间方法的调用实例
2018/09/12 Javascript
vue 实现小程序或商品秒杀倒计时
2019/04/14 Javascript
JS正则表达式常见函数与用法小结
2020/04/13 Javascript
微信小程序实现购物车小功能
2020/12/30 Javascript
[02:04]2014DOTA2国际邀请赛 BBC小组赛第三天总结
2014/07/12 DOTA
详解Python中__str__和__repr__方法的区别
2015/04/17 Python
Python随手笔记之标准类型内建函数
2015/12/02 Python
基于python的七种经典排序算法(推荐)
2016/12/08 Python
浅谈使用Python变量时要避免的3个错误
2017/10/30 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
Homestay中文官网:全球寄宿家庭
2018/10/18 全球购物
如何写自我鉴定
2014/03/19 职场文书
小学生通知书评语
2014/12/31 职场文书
企业开业庆典答谢词
2015/01/20 职场文书
亲属关系公证书样本
2015/01/23 职场文书
解决MySQL Varchar 类型尾部空格的问题
2022/04/06 MySQL