vue路由传参的基本实现方式小结【三种方式】


Posted in Javascript onFebruary 05, 2020

本文实例讲述了vue路由传参的基本实现方式。分享给大家供大家参考,具体如下:

前言

vue 路由传参的使用场景一般都是应用在父路由跳转到子路由时,携带参数跳转。传参方式可划分为 params 传参和 query 传参,而 params 传参又可分为在 url 中显示参数和不显示参数两种方式,这就是vue路由传参的三种方式。

方式一:params 传参(显示参数)

params 传参(显示参数)又可分为 声明式 和 编程式 两种方式

1、声明式 router-link

该方式是通过 router-link 组件的 to 属性实现,该方法的参数可以是一个字符串路径,或者一个描述地址的对象。使用该方式传值的时候,需要子路由提前配置好参数,例如:

//子路由配置
{
 path: '/child/:id',
 component: Child
}
//父路由组件
<router-link :to="/child/123">进入Child路由</router-link>

2、编程式 this.$router.push

使用该方式传值的时候,同样需要子路由提前配置好参数,例如:

//子路由配置
{
 path: '/child/:id',
 component: Child
}
//父路由编程式传参(一般通过事件触发)
this.$router.push({
  path:'/child/${id}',
})

在子路由中可以通过下面代码来获取传递的参数值

this.$route.params.id

方式二:params 传参(不显示参数)

params 传参(不显示参数)也可分为 声明式 和 编程式 两种方式,与方式一不同的是,这里是通过路由的别名 name 进行传值的

1、声明式 router-link

该方式也是通过 router-link 组件的 to 属性实现,例如:

<router-link :to="{name:'Child',params:{id:123}}">进入Child路由</router-link>

2、编程式 this.$router.push

使用该方式传值的时候,同样需要子路由提前配置好参数,不过不能再使用 :/id 来传递参数了,因为父路由中,已经使用 params 来携带参数了,例如:

//子路由配置
{
 path: '/child,
 name: 'Child',
 component: Child
}
//父路由编程式传参(一般通过事件触发)
this.$router.push({
  name:'Child',
  params:{
   id:123
  }
})

在子路由中可以通过下面代码来获取传递的参数值

this.$route.params.id

注意:上述这种利用 params 不显示 url 传参的方式会导致在刷新页面的时候,传递的值会丢失

方式三:query 传参(显示参数)

query 传参(显示参数)也可分为 声明式 和 编程式 两种方式

1、声明式 router-link

该方式也是通过 router-link 组件的 to 属性实现,不过使用该方式传值的时候,需要子路由提前配置好路由别名(name 属性),例如:

//子路由配置
{
 path: '/child,
 name: 'Child',
 component: Child
}
//父路由组件
<router-link :to="{name:'Child',query:{id:123}}">进入Child路由</router-link>

2、编程式 this.$router.push

使用该方式传值的时候,同样需要子路由提前配置好路由别名(name 属性),例如:

//子路由配置
{
 path: '/child,
 name: 'Child',
 component: Child
}
//父路由编程式传参(一般通过事件触发)
this.$router.push({
  name:'Child',
  params:{
   id:123
  }
})

在子路由中可以通过下面代码来获取传递的参数值

this.$route.query.id

希望本文所述对大家vue.js程序设计有所帮助。

Javascript 相关文章推荐
Javascript 中的 &amp;&amp; 和 || 使用小结
Apr 25 Javascript
JQuery将文本转化成JSON对象需要注意的问题
May 09 Javascript
用javascript作一个通用向导说明
Aug 30 Javascript
jquery在IE、FF浏览器的差别详细探讨
Apr 28 Javascript
js、css、img等浏览器缓存问题的2种解决方案
Oct 23 Javascript
js 调用百度地图api并在地图上进行打点添加标注
May 13 Javascript
Egret引擎开发指南之视觉编程
Sep 03 Javascript
AngularJS入门教程之数据绑定原理详解
Nov 02 Javascript
JavaScript实现快速排序的方法分析
Jan 10 Javascript
JavaScript使用math.js进行精确计算操作示例
Jun 19 Javascript
小程序转发探索示例
Feb 19 Javascript
js实现点赞按钮功能的实例代码
Mar 06 Javascript
Vuex的API文档说明详解
Feb 05 #Javascript
如何实现iframe父子传参通信
Feb 05 #Javascript
JavaScript对象原型链原理详解
Feb 05 #Javascript
基于Vue的侧边目录组件的实现
Feb 05 #Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 #Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 #jQuery
JS代码优化的8点建议
Feb 04 #Javascript
You might like
JAVA/JSP学习系列之二
2006/10/09 PHP
PHP 单引号与双引号的区别
2009/11/24 PHP
微盾PHP脚本加密专家php解密算法
2020/09/13 PHP
php gd等比例缩放压缩图片函数
2016/06/12 PHP
PHP实现上传多文件示例代码
2017/02/20 PHP
ThinkPHP中类的构造函数_construct()与_initialize()的区别详解
2017/03/13 PHP
用于table内容排序
2006/07/21 Javascript
在视频前插入广告
2006/11/20 Javascript
jQuery实现单击按钮遮罩弹出对话框(仿天猫的删除对话框)
2014/04/10 Javascript
Node.js插件的正确编写方式
2014/08/03 Javascript
node.js中的querystring.stringify方法使用说明
2014/12/10 Javascript
node.js中的fs.appendFileSync方法使用说明
2014/12/17 Javascript
js实现进度条的方法
2015/02/13 Javascript
原生js验证简洁注册登录页面
2016/12/17 Javascript
JS异步文件分片断点上传的实现思路
2016/12/25 Javascript
AngularJS的Filter的示例详解
2017/03/07 Javascript
使用Node.js实现简易MVC框架的方法
2017/08/07 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
使用element-ui的el-menu导航选中后刷新页面保持当前选中状态
2019/07/19 Javascript
[01:37]DOTA2超级联赛专访ChuaN 传奇般的电竞之路
2013/06/19 DOTA
[43:49]LGD vs CHAOS 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
[46:55]完美世界DOTA2联赛决赛 FTD vs Phoenix 第三场 11.08
2020/11/11 DOTA
用python 制作图片转pdf工具
2015/01/30 Python
Python实现树的先序、中序、后序排序算法示例
2017/06/23 Python
Python3之简单搭建自带服务器的实例讲解
2018/06/04 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
Python破解BiliBili滑块验证码的思路详解(完美避开人机识别)
2020/02/17 Python
在html5的Canvas上绘制椭圆的几种方法总结
2013/01/07 HTML / CSS
周生生珠宝香港官网:Chow Sang Sang(香港及海外配送)
2019/09/05 全球购物
妇科医生自荐信
2013/11/05 职场文书
司考复习计划
2015/01/19 职场文书
2015年端午节活动总结
2015/02/11 职场文书
工作能力自我评价2015
2015/03/05 职场文书
Nginx+SpringBoot实现负载均衡的示例
2021/03/31 Servers
Python中的pprint模块
2021/11/27 Python
gtx1650怎么样 gtx1650显卡相当于什么级别
2022/04/08 数码科技