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 相关文章推荐
简单的Jquery全选功能
Nov 07 Javascript
javascript实现数字验证码的简单实例
Feb 10 Javascript
javascript获取函数名称、函数参数、对象属性名称的代码实例
Apr 12 Javascript
jQuery 实现ajax传入参数含有特殊字符的方法总结
Oct 17 Javascript
微信开发之调起摄像头、本地展示图片、上传下载图片实例
Dec 08 Javascript
Bootstrap Img 图片样式(推荐)
Dec 13 Javascript
Vuejs在v-for中,利用index来对第一项添加class的方法
Mar 03 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
May 08 Javascript
详解ECMAScript typeof用法
Jul 25 Javascript
详解VUE项目中安装和使用vant组件
Apr 28 Javascript
微信小程序文字显示换行问题
Jul 28 Javascript
js实现图片跟随鼠标移动效果
Oct 16 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
php中用foreach来操作数组的代码
2011/07/17 PHP
用PHP实现的四则运算表达式计算实现代码
2011/08/02 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
分享一个PHP数据流应用的简单例子
2012/06/01 PHP
PHP缓存机制Output Control详解
2014/07/14 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
php去除头尾空格的2种方法
2015/03/16 PHP
PHP Callable强制指定回调类型的方法
2016/08/30 PHP
php实现微信公众平台发红包功能
2018/06/14 PHP
newxtree.js代码
2007/03/13 Javascript
js函数的引用, 关于内存的开销
2012/09/17 Javascript
JS获取并操作iframe中元素的方法
2013/03/21 Javascript
js检查页面上有无重复id的实现代码
2013/07/17 Javascript
使用JavaScript链式编程实现模拟Jquery函数
2014/12/21 Javascript
JQuery显示隐藏DIV的方法及代码实例
2015/04/16 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
防止Node.js中错误导致进程阻塞的办法
2016/08/11 Javascript
使用Angular.js开发的注意事项
2016/10/19 Javascript
关于不同页面之间实现参数传递的几种方式讨论
2017/02/13 Javascript
js移动端图片压缩上传功能
2020/08/18 Javascript
解决ie img标签内存泄漏的问题
2017/10/13 Javascript
html中通过JS获取JSON数据并加载的方法
2017/11/30 Javascript
jQuery实现checkbox全选、反选及删除等操作的方法详解
2019/08/02 jQuery
JavaScript 如何计算文本的行数的实现
2020/09/14 Javascript
[04:42]5分钟带你了解什么是DOTA2(第一期)
2017/02/07 DOTA
浅谈Python中数据解析
2015/05/05 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
深入解析python中的实例方法、类方法和静态方法
2019/03/11 Python
pandas 对日期类型数据的处理方法详解
2019/08/08 Python
Python迭代器iterator生成器generator使用解析
2019/10/24 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
python轮询机制控制led实例
2020/05/03 Python
Andrew Marc官网:设计师外套的领先制造商
2019/10/30 全球购物
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android