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 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
jquery.validate使用攻略 第五步 正则验证
Jul 01 Javascript
(function($){...})(jQuery)的意思
Jul 22 Javascript
transport.js和jquery冲突问题的解决方法
Feb 10 Javascript
JavaScript弹窗基础篇
Apr 27 Javascript
AngularJs学习第八篇 过滤器filter创建
Jun 08 Javascript
JavaScript的==运算详解
Jul 20 Javascript
Bootstrap Table表格一直加载(load)不了数据的快速解决方法
Sep 17 Javascript
Seajs是什么及sea.js 由来,特点以及优势
Oct 13 Javascript
vuejs 单文件组件.vue 文件的使用
Jul 28 Javascript
vue2实现数据请求显示loading图
Nov 28 Javascript
JS删除数组指定值常用方法详解
Jun 04 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
Mysql的Root密码忘记,查看或修改的解决方法(图文介绍)
2013/06/14 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
PHP的cURL库简介及使用示例
2015/02/06 PHP
PHP反射API示例分享
2016/10/08 PHP
利用php做服务器和web前端的界面进行交互
2016/10/31 PHP
script标签的 charset 属性使用说明
2010/12/04 Javascript
JavaScript中几种常见排序算法小结
2011/02/22 Javascript
js 用CreateElement动态创建标签示例
2013/11/20 Javascript
JS连接SQL数据库与ACCESS数据库的方法实例
2013/11/21 Javascript
jquery让返回的内容显示在特定div里(代码少而精悍)
2014/06/23 Javascript
js实现仿京东2级菜单效果(带延时功能)
2015/08/27 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
AngularJS递归指令实现Tree View效果示例
2016/11/07 Javascript
如何实现星星评价(jquery.raty.js插件)
2016/12/21 Javascript
Vue.js列表渲染绑定jQuery插件的正确姿势
2017/06/29 jQuery
Node.js如何实现注册邮箱激活功能 (常见)
2017/07/23 Javascript
Vue中引入样式文件的方法
2017/08/18 Javascript
vue首次赋值不触发watch的解决方法
2018/09/11 Javascript
JavaScript实现简单音乐播放器
2020/04/17 Javascript
深入理解Vue.js轻量高效的前端组件化方案
2018/12/10 Javascript
微信小程序canvas分享海报功能
2019/10/31 Javascript
python实现批量修改文件名代码
2017/09/10 Python
python版简单工厂模式
2017/10/16 Python
JS设计模式之责任链模式实例详解
2018/02/03 Python
Python Web程序部署到Ubuntu服务器上的方法
2018/02/22 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
css3实现波纹特效、H5实现动态波浪效果
2018/01/31 HTML / CSS
CSS3实现大小不一的粒子旋转加载动画
2016/04/21 HTML / CSS
HTML5拖放API实现拖放排序的实例代码
2017/05/11 HTML / CSS
大整数数相乘的问题
2012/07/22 面试题
韩语专业本科生求职信
2013/10/01 职场文书
商务主管岗位职责
2013/12/08 职场文书
小学教师办公室制度
2014/02/03 职场文书
教师四风自我剖析材料
2014/09/30 职场文书
公司员工体检通知
2015/04/21 职场文书
Redis5之后版本的高可用集群搭建的实现
2021/04/27 Redis