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 相关文章推荐
juqery 学习之五 文档处理 插入
Feb 11 Javascript
浅析LigerUi开发中谨慎载入common.css文件
Jul 09 Javascript
javascript实现字符串反转的方法
Feb 05 Javascript
jquery图片滚动放大代码分享(1)
Aug 25 Javascript
JS获取一个未知DIV高度的方法
Aug 09 Javascript
js轮播图透明度切换(带上下页和底部圆点切换)
Apr 27 Javascript
使用socket.io制做简易WEB聊天室
Jan 02 Javascript
js删除对象/数组中null、undefined、空对象及空数组方法示例
Nov 14 Javascript
微信小程序页面缩放式侧滑效果的实现代码
Nov 15 Javascript
React学习之JSX与react事件实例分析
Jan 06 Javascript
解决elementUI 切换tab后 el_table 固定列下方多了一条线问题
Jul 19 Javascript
vue-treeselect的基本用法以及解决点击无法出现拉下菜单
Apr 30 Vue.js
浅谈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
WHOIS类的修改版
2006/10/09 PHP
PHP 在线翻译函数代码
2009/05/07 PHP
PHP 循环列出目录内容的函数代码
2010/05/26 PHP
php中判断文件存在是用file_exists还是is_file的整理
2012/09/12 PHP
PHP获取http请求的头信息实现步骤
2012/12/16 PHP
深入php多态的实现详解
2013/06/09 PHP
php中的mongodb select常用操作代码示例
2014/09/06 PHP
php实现多维数组中每个单元值(数字)翻倍的方法
2015/02/16 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
php给图片加文字水印
2015/07/31 PHP
利用php-cli和任务计划实现刷新token功能的方法
2017/05/03 PHP
js判断页面中是否有指定控件的简单实例
2014/03/04 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
2020/04/18 Javascript
vue中echarts3.0自适应的方法
2018/02/26 Javascript
vue实现选项卡及选项卡切换效果
2018/04/24 Javascript
支付宝小程序自定义弹窗dialog插件的实现代码
2018/11/30 Javascript
简单使用webpack打包文件的实现
2019/10/29 Javascript
node.js使用zlib模块进行数据压缩和解压操作示例
2020/02/12 Javascript
微信小程序实现带放大效果的轮播图
2020/05/26 Javascript
Vuex的各个模块封装的实现
2020/06/05 Javascript
Python 字典dict使用介绍
2014/11/30 Python
python开发环境PyScripter中文乱码问题解决方案
2016/09/11 Python
python 统计代码行数简单实例
2017/05/04 Python
tensorflow 使用flags定义命令行参数的方法
2018/04/23 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
python 检查是否为中文字符串的方法
2018/12/28 Python
flask框架渲染Jinja模板与传入模板变量操作详解
2020/01/25 Python
Python Dict找出value大于某值或key大于某值的所有项方式
2020/06/05 Python
python利用os模块编写文件复制功能——copy()函数用法
2020/07/13 Python
python-地图可视化组件folium的操作
2020/12/14 Python
用python批量下载apk
2020/12/29 Python
学生自我鉴定
2013/12/18 职场文书
省三好学生申请材料
2014/01/22 职场文书
农民工创业典型事迹
2014/01/25 职场文书
警察先进个人事迹材料
2014/05/16 职场文书