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 相关文章推荐
动态修改DOM 里面的 id 属性的弊端分析
Sep 03 Javascript
理解Javascript_07_理解instanceof实现原理
Oct 15 Javascript
表单验证的完整应用案例探讨
Mar 29 Javascript
js判断上传文件的类型和大小示例代码
Oct 18 Javascript
浅谈JavaScript字符集
May 22 Javascript
基于JavaScript短信验证码如何实现
Jan 24 Javascript
教你如何在Node.js中使用jQuery
Aug 28 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
Mar 08 Javascript
Vue常见面试题整理【值得收藏】
Sep 20 Javascript
微信小程序实现获取用户信息并存入数据库操作示例
May 07 Javascript
JavaScript设计模式之观察者模式与发布订阅模式详解
May 07 Javascript
vue中全局路由守卫中替代this操作(this.$store/this.$vux)
Jul 24 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伪静态页面函数附使用方法
2008/06/20 PHP
PHP实现微信公众平台音乐点播
2014/03/20 PHP
php实现图片添加描边字和马赛克的方法
2014/12/10 PHP
ThinkPHP数据操作方法总结
2015/09/28 PHP
动态为事件添加js代码示例
2009/02/15 Javascript
SeaJS 与 RequireJS 的差异对比
2014/12/08 Javascript
js获取json元素数量的方法
2015/01/27 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
2015/01/28 Javascript
node.js 使用ejs模板引擎时后缀换成.html
2015/04/22 Javascript
jquery实现文本框textarea自适应高度
2016/03/09 Javascript
js改变css样式的三种方法推荐
2016/06/28 Javascript
JS获取url参数、主域名的方法实例分析
2016/08/03 Javascript
vue制作加载更多功能的正确打开方式
2016/10/12 Javascript
node通过npm写一个cli命令行工具
2017/10/12 Javascript
js实现按钮开关单机下拉菜单效果
2018/11/22 Javascript
JavaScript数组去重的方法总结【12种方法,号称史上最全】
2019/02/28 Javascript
[01:25]2014DOTA2国际邀请赛 zhou分析LGD比赛情况
2014/07/14 DOTA
在Python的Django框架中更新数据库数据的方法
2015/07/17 Python
Python基于生成器迭代实现的八皇后问题示例
2018/05/23 Python
python3调用百度翻译API实现实时翻译
2018/08/16 Python
浅谈python编译pyc工程--导包问题解决
2019/03/20 Python
Python redis操作实例分析【连接、管道、发布和订阅等】
2019/05/16 Python
python ChainMap的使用和说明详解
2019/06/11 Python
pyecharts调整图例与各板块的位置间距实例
2020/05/16 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Keras自定义实现带masking的meanpooling层方式
2020/06/16 Python
Python 开发工具通过 agent 代理使用的方法
2020/09/27 Python
数控专业大学毕业生职业规划范文
2014/02/06 职场文书
年度评优评先方案
2014/06/03 职场文书
党员个人批评与自我批评
2014/10/14 职场文书
中学综治宣传月活动总结
2015/05/07 职场文书
教师节主题班会教案
2015/08/17 职场文书
三下乡活动心得体会
2016/01/23 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
Mysql8.0递归查询的简单用法示例
2021/08/04 MySQL