Vue路由跳转问题记录详解


Posted in Javascript onJune 15, 2017

最近项目上需要用Vue用来做app,在Vue中使用路由时遇到下面的问题。

路由设置如下:

{

path:'/tab',

component:Tab,

children:[{

path:'layoutList',

name:'LayoutList',

component:LayoutList

},{

path:'layoutView/:layoutId',

name:'LayoutView',

component:LayoutView

},{

path:'layoutDetail/:viewId',

name:'LayoutDetail',

component:LayoutDetail

}]

}

其中/tab是根地址,有3个子地址,3个子地址层级为:LayoutList => LayoutView => LayoutDetail

正常情况:假设当前路由为/tab/layoutList,需要跳转到LayoutView页面,可以通过router.push({path:'layoutView/'+item.id})

跳转后的路由为/tab/layoutView/1

Vue路由跳转问题记录详解 

Vue路由跳转问题记录详解    

当我想从LayoutView页面跳转到对应的LayoutDetail页面时:

情况一:(找不到页面)

跳转前地址:/tab/layoutView/1

跳转代码:router.push({path:'layoutDetail/'+item.id});

跳转后地址:/tab/layoutView/layoutDetail/27

情况二:(找不到页面)

跳转前地址:/tab/layoutView/1

跳转代码:router.push({path:'/layoutDetail/'+item.id});

跳转后地址:/layoutDetail/27

情况三:(找不到页面)

跳转前地址:/tab/layoutView/1

跳转代码:router.push({path:'tab/layoutDetail/'+item.id});

跳转后地址:/tab/layoutView/tab/layoutDetail/27

情况四:(页面正常显示)

跳转前地址:/tab/layoutView/1

跳转代码:router.push({path:'/tab/layoutDetail/'+item.id});

跳转后地址:/tab/layoutDetail/27

只有按照情况四的操作,才能正常显示出来页面。

vue路由会根据push的地址,如果地址不是/开头,会直接替换当前路由的最后一个/后的地址,

如果地址是/开头,会以push的地址作为绝对地址进行跳转。

另外我尝试还使用router.go({name:'LayoutDetail',params:{viewId:item.id}}),页面不会跳转且地址也不会改变。

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

Javascript 相关文章推荐
Prototype Function对象 学习
Jul 12 Javascript
jquery tools之tabs 选项卡/页签
Jul 25 Javascript
一个用javascript写的select支持上下键、首字母筛选以及回车取值的功能
Sep 09 Javascript
JQuery Tips(3) 关于$()包装集内元素的改变
Dec 14 Javascript
点击button获取text内容并改变样式的js实现
Sep 09 Javascript
jquery提示效果实例分析
Nov 25 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
JavaScript仿网易选项卡制作代码
Oct 06 Javascript
Vue.js在使用中的一些注意知识点
Apr 29 Javascript
Koa2微信公众号开发之消息管理
May 16 Javascript
玩转Koa之koa-router原理解析
Dec 29 Javascript
浅谈在Vue.js中如何实现时间转换指令
Jan 06 Javascript
JS奇技之利用scroll来监听resize详解
Jun 15 #Javascript
package.json文件配置详解
Jun 15 #Javascript
一次围绕setTimeout的前端面试经验分享
Jun 15 #Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 #Javascript
使用Require.js封装原生js轮播图的实现代码
Jun 15 #Javascript
JavaScript实现选中文字提示新浪微博分享效果
Jun 15 #Javascript
详解vue跨组件通信的几种方法
Jun 15 #Javascript
You might like
php 魔术方法使用说明
2009/10/20 PHP
防止本地用户用fsockopen DDOS攻击对策
2011/11/02 PHP
php 短链接算法收集与分析
2011/12/30 PHP
yii2 commands模式以及配置crontab定时任务的方法
2017/08/19 PHP
常用js脚本
2006/12/03 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
在js里怎么实现Xcode里的callFuncN方法(详解)
2016/11/05 Javascript
详解ECMAScript6入门--Class对象
2017/04/27 Javascript
详解vue.js之props传递参数
2017/12/12 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
浅谈angular4.0中路由传递参数、获取参数最nice的写法
2018/03/12 Javascript
node.js ws模块搭建websocket服务端的方法示例
2019/04/25 Javascript
mpvue微信小程序的接口请求fly全局拦截代码实例
2019/11/13 Javascript
创建nuxt.js项目流程图解
2020/03/13 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
Python datetime时间格式化去掉前导0
2014/07/31 Python
Python绑定方法与非绑定方法详解
2017/08/18 Python
利用python编写一个图片主色转换的脚本
2017/12/07 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
python调用Matplotlib绘制分布点图
2019/10/18 Python
TensorFlow 显存使用机制详解
2020/02/03 Python
解决matplotlib.pyplot在Jupyter notebook中不显示图像问题
2020/04/22 Python
加拿大鞋网:Globo Shoes
2019/12/26 全球购物
什么是三层交换,说说和路由的区别在那里
2014/09/01 面试题
求职推荐信
2013/10/28 职场文书
活动志愿者自荐信
2014/01/27 职场文书
开会迟到检讨书
2014/02/03 职场文书
怎样填写就业意向
2014/04/02 职场文书
2014党员学习兰辉先进事迹思想汇报
2014/09/17 职场文书
加薪通知
2015/04/25 职场文书
电子表的操作介绍说明书
2019/10/28 职场文书
全面盘点MySQL中的那些重要日志文件
2021/11/27 MySQL
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android