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 相关文章推荐
HTML TO JavaScript 转换
Jun 26 Javascript
js一般方法改写成面向对象方法的无限级折叠菜单示例代码
Jul 04 Javascript
JavaScript对内存分配及管理机制详细解析
Nov 11 Javascript
JavaScript+html5 canvas绘制渐变区域完整实例
Jan 26 Javascript
JS获取html元素的标记名实现方法
Oct 08 Javascript
jQuery自定义元素右键点击事件(实现案例)
Apr 28 jQuery
JQuery.dataTables表格插件添加跳转到指定页
Jun 09 jQuery
vuejs 切换导航条高亮(路由菜单高亮)的方法示例
May 29 Javascript
使用vue-router完成简单导航功能【推荐】
Jun 28 Javascript
详解vue-cli 脚手架 安装
Apr 16 Javascript
详解一次Vue低版本安卓白屏问题的解决过程
May 30 Javascript
JS实现页面鼠标点击出现图片特效
Aug 19 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的安全
2006/10/09 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
PHP 检查扩展库或函数是否可用的代码
2010/04/06 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
PHP类的特性实例分析
2016/09/28 PHP
php可变长参数处理函数详解
2017/02/22 PHP
Thinkphp5 如何隐藏入口文件index.php(URL重写)
2019/10/16 PHP
js 金额文本框实现代码
2012/02/14 Javascript
js 获取(接收)地址栏参数值的方法
2013/04/01 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
js生成word中图片处理方法
2018/01/06 Javascript
vue.js轮播图组件使用方法详解
2018/07/03 Javascript
ES6 对象的新功能与解构赋值介绍
2019/02/05 Javascript
vue-cli3+typescript新建一个项目的思路分析
2019/08/06 Javascript
python文件读写并使用mysql批量插入示例分享(python操作mysql)
2014/02/17 Python
对python字典过滤条件的实例详解
2019/01/22 Python
Django ORM 查询管理器源码解析
2019/08/05 Python
Python3并发写文件与Python对比
2019/11/20 Python
Python编程快速上手——PDF文件操作案例分析
2020/02/28 Python
详解html5 canvas常用api总结(二)--绘图API
2016/12/14 HTML / CSS
HTML5通过navigator.mediaDevices.getUserMedia调用手机摄像头问题
2020/04/27 HTML / CSS
VICHY薇姿英国官网:全球专业敏感肌护肤领先品牌
2017/07/04 全球购物
Old Navy加拿大官网:美式休闲服饰品牌
2017/09/26 全球购物
Java面试中常遇到的问题,也是需要注意的几点
2013/08/30 面试题
平面设计的岗位职责
2013/11/08 职场文书
银行批评与自我批评
2014/02/10 职场文书
幼儿园运动会加油词
2014/02/14 职场文书
质检部经理岗位职责
2014/02/19 职场文书
超市开店计划书
2014/09/15 职场文书
九九重阳节致辞
2015/07/31 职场文书
《青山不老》教学反思
2016/02/22 职场文书
创业计划书之密室逃脱
2019/11/08 职场文书
源码解读Spring-Integration执行过程
2021/06/11 Java/Android
Python+Selenium实现抖音、快手、B站、小红书、微视、百度好看视频、西瓜视频、微信视频号、搜狐视频、一点号、大风号、趣头条等短视频自动发布
2022/04/13 Python
利用Redis实现点赞功能的示例代码
2022/06/28 Redis