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 相关文章推荐
多次注册事件会导致一个事件被触发多次的解决方法
Aug 12 Javascript
jquery ajax修改全局变量示例代码
Nov 08 Javascript
Chrome扩展页面动态绑定JS事件提示错误
Feb 11 Javascript
JavaScript实现的encode64加密算法实例分析
Apr 15 Javascript
jQuery插件zTree实现删除树节点的方法示例
Mar 08 Javascript
Vue.js实现移动端短信验证码功能
Mar 29 Javascript
基于AngularJS实现的工资计算器实例
Jun 16 Javascript
VUE利用vuex模拟实现新闻点赞功能实例
Jun 28 Javascript
jQuery层级选择器_动力节点节点Java学院整理
Jul 04 jQuery
vue实现单选和多选功能
Aug 11 Javascript
Vue.js实现大屏数字滚动翻转效果
Nov 29 Javascript
Angular之jwt令牌身份验证的实现
Feb 14 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
php防盗链的常用方法小结
2010/07/02 PHP
解析php file_exists无效的解决办法
2013/06/26 PHP
php使用curl简单抓取远程url的方法
2015/03/13 PHP
php实现只保留mysql中最新1000条记录
2015/06/18 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
ie focus bug 解决方法
2009/09/03 Javascript
jqeury-easyui-layout问题解决方法
2014/03/24 Javascript
jQuery取id有.的值的方法
2014/05/21 Javascript
js 动态修改css文件用到了cssRule
2014/08/20 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
AngularJs 60分钟入门基础教程
2016/04/03 Javascript
AngularJS入门教程之 XMLHttpRequest实例讲解
2016/07/27 Javascript
JS使用正则截取两个字符串之间的字符串实现方法详解
2017/01/06 Javascript
canvas实现刮刮卡效果
2017/03/14 Javascript
node.js调用Chrome浏览器打开链接地址的方法
2017/05/17 Javascript
JavaScript实现邮箱后缀提示功能的示例代码
2018/12/13 Javascript
Python使用正则匹配实现抓图代码分享
2015/04/02 Python
深入解析Python中的list列表及其切片和迭代操作
2016/03/13 Python
详解MySQL数据类型int(M)中M的含义
2016/11/20 Python
利用Django-environ如何区分不同环境
2018/08/26 Python
利用Python半自动化生成Nessus报告的方法
2019/03/19 Python
Python生成一个迭代器的实操方法
2019/06/18 Python
django实现HttpResponse返回json数据为中文
2020/03/27 Python
python利用xpath爬取网上数据并存储到django模型中
2021/02/26 Python
英国航空官网:British Airways
2016/09/11 全球购物
中专生的个人自我评价
2013/12/11 职场文书
俞敏洪励志演讲稿
2014/04/29 职场文书
学校教研活动总结
2014/07/02 职场文书
驾驶员安全责任书
2014/07/22 职场文书
火锅店的活动方案
2014/08/15 职场文书
2014年国庆节活动总结
2014/08/26 职场文书
2014-2015学年工作总结
2014/11/27 职场文书
面试通知短信
2015/04/20 职场文书
Element-ui Layout布局(Row和Col组件)的实现
2021/12/06 Vue.js
Tomcat用户管理的优化配置详解
2022/03/31 Servers