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 相关文章推荐
JS应用之禁止抓屏、复制、打印
Feb 21 Javascript
jquery $.fn $.fx是什么意思有什么用
Nov 04 Javascript
AngularJS 作用域详解及示例代码
Aug 17 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
Sep 29 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
bootstrap fileinput实现文件上传功能
Aug 23 Javascript
利用jquery如何从json中读取数据追加到html中
Dec 01 jQuery
纯javascript实现选择框的全选与反选功能
Apr 08 Javascript
解决一个微信号同时支持多个环境网页授权问题
Aug 07 Javascript
uni-app如何页面传参数的几种方法总结
Apr 28 Javascript
浅谈vue中document.getElementById()拿到的是原值的问题
Jul 26 Javascript
解决vue项目axios每次请求session不一致的问题
Oct 24 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公用函数列表[正则]
2007/02/22 PHP
PHP编程计算文件或数组中单词出现频率的方法
2017/05/22 PHP
使用PHPStorm+XDebug搭建单步调试环境
2017/11/19 PHP
巧妙破除网页右键禁用的十大绝招
2006/08/12 Javascript
初学prototype,发个JS接受URL参数的代码
2006/09/25 Javascript
Javascript中的数学函数集合
2007/05/08 Javascript
javascript Ext JS 状态默认存储时间
2009/02/15 Javascript
jQuery仿Excel表格编辑功能的实现代码
2013/05/01 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
写出高效jquery代码的19条指南
2014/03/19 Javascript
jQuery动态效果显示人物结构关系图的方法
2015/05/07 Javascript
js实现仿阿里巴巴城市选择框效果实例
2015/06/24 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
2015/10/17 Javascript
js实现图片上传并正常显示
2015/12/19 Javascript
require、backbone等重构手机图片查看器
2016/11/17 Javascript
详解使用fetch发送post请求时的参数处理
2017/04/05 Javascript
Angular 向组件传递模板的两种方法
2018/02/23 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
angularJs中$scope数据序列化的实例
2018/09/30 Javascript
微信小程序自定义toast弹窗效果的实现代码
2018/11/15 Javascript
bootstrap table实现合并单元格效果
2018/12/24 Javascript
Vue搭建后台系统需要注意的问题
2019/11/08 Javascript
Python with用法实例
2015/04/14 Python
python实现BackPropagation算法
2017/12/14 Python
解决phantomjs截图失败,phantom.exit位置的问题
2018/05/17 Python
Python 3.x 判断 dict 是否包含某键值的实例讲解
2018/07/06 Python
Django框架orM与自定义SQL语句混合事务控制操作
2019/06/27 Python
浅析Python3 pip换源问题
2020/01/06 Python
python构造IP报文实例
2020/05/05 Python
新东方旗下远程教育网站:新东方在线
2020/03/19 全球购物
银行演讲稿范文
2014/01/03 职场文书
2014学雷锋活动心得体会
2014/03/10 职场文书
烛光里的微笑观后感
2015/06/17 职场文书
企业年会祝酒词
2015/08/11 职场文书
spring cloud gateway中如何读取请求参数
2021/07/15 Java/Android
Vue的列表之渲染,排序,过滤详解
2022/02/24 Vue.js