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 相关文章推荐
js检查页面上有无重复id的实现代码
Jul 17 Javascript
jquery实现类似淘宝星星评分功能实例
Sep 12 Javascript
JavaScript中自定义事件用法分析
Dec 23 Javascript
jQuery实现的仿百度分页足迹效果代码
Oct 30 Javascript
Javascript基础学习笔记(菜鸟必看篇)
Jul 22 Javascript
纯JavaScript手写图片轮播代码
Oct 20 Javascript
详解JS: reduce方法实现 webpack多文件入口
Feb 14 Javascript
JS简单判断滚动条的滚动方向实现方法
Apr 28 Javascript
微信小程序选择图片和放大预览图片功能
Nov 02 Javascript
总结4个方面优化Vue项目
Feb 11 Javascript
微信小程序表单验证插件WxValidate的二次封装功能(终极版)
Sep 03 Javascript
Vue.js watch监视属性知识点总结
Nov 11 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
phpmyadmin 3.4 空密码登录的实现方法
2010/05/29 PHP
如何在php中正确的使用json
2013/08/06 PHP
php实现图形显示Ip地址的代码及注释
2014/01/20 PHP
脚本之家贴图转换+转贴工具用到的js代码超级推荐
2007/04/05 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
javascript实现信息的显示和隐藏如注册页面
2013/12/03 Javascript
javascript中tostring()和valueof()的用法及两者的区别
2015/11/16 Javascript
20分钟轻松创建自己的Bootstrap站点
2016/05/12 Javascript
jQueryUI Datepicker组件设置日期高亮
2016/10/13 Javascript
深入理解JavaScript中的块级作用域、私有变量与模块模式
2016/10/31 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
js实现一键复制功能
2017/03/16 Javascript
NodeJS简单实现WebSocket功能示例
2018/02/10 NodeJs
vue初始化动画加载的实例
2018/09/01 Javascript
Vue刷新修改页面中数据的方法
2018/09/16 Javascript
详解vue文件中使用echarts.js的两种方式
2018/10/18 Javascript
使用vue2.6实现抖音【时间轮盘】屏保效果附源码
2019/04/24 Javascript
Node快速切换版本、版本回退(降级)、版本更新(升级)
2021/01/07 Javascript
Python用zip函数同时遍历多个迭代器示例详解
2016/11/14 Python
Python中is与==判断的区别
2017/03/28 Python
Python入门必须知道的11个知识点
2018/03/21 Python
Python字符串对象实现原理详解
2019/07/01 Python
Django中使用CORS实现跨域请求过程解析
2019/08/05 Python
对python while循环和双重循环的实例详解
2019/08/23 Python
python实现树的深度优先遍历与广度优先遍历详解
2019/10/26 Python
python自动生成sql语句的脚本
2021/02/24 Python
整理HTML5中表单的常用属性及新属性
2016/02/19 HTML / CSS
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
JBL澳大利亚官方商店:扬声器、耳机和音响系统
2018/05/24 全球购物
一加手机美国官方网站:OnePlus美国
2019/09/19 全球购物
工厂厂长岗位职责
2013/11/08 职场文书
作风建设演讲稿
2014/05/23 职场文书
品质标语大全
2014/06/21 职场文书
群众路线对照检查材料
2014/09/22 职场文书
死亡诗社观后感
2015/06/05 职场文书