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 相关文章推荐
ext读取两种结构的xml的代码
Nov 05 Javascript
JS事件Event元素(兼容IE,Firefox,Chorme)
Nov 01 Javascript
用按钮控制iframe显示的网页实现方法
Feb 04 Javascript
js实现在同一窗口浏览图片
Sep 17 Javascript
JavaScript中的Truthy和Falsy介绍
Jan 01 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
javascript 面向对象function详解及实例代码
Feb 28 Javascript
jquery 手势密码插件
Mar 17 Javascript
Vuejs+vue-router打包+Nginx配置的实例
Sep 20 Javascript
js for终止循环 跳出多层循环
Oct 04 Javascript
vue prop属性传值与传引用示例
Nov 13 Javascript
搭建vscode+vue环境的详细教程
Aug 31 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
为什么夜间收到的中波电台比白天多
2021/03/01 无线电
php将数据库中所有内容生成静态html文档的代码
2010/04/12 PHP
php imagecreatetruecolor 创建高清和透明图片代码小结
2010/05/15 PHP
php中用于检测一个地理IP地址是否可用的代码
2012/02/19 PHP
PHP base64编码后解码乱码的解决办法
2014/06/19 PHP
什么是json和jsonp,jQuery json实例详详细说明
2012/12/11 Javascript
两个多选select(multiple左右)添加、删除选项和取值实例
2014/05/12 Javascript
JS经典正则表达式笔试题汇总
2016/12/15 Javascript
Vue.js仿Metronic高级表格(一)静态设计
2017/04/17 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
js制作简单的音乐播放器的示例代码
2017/08/28 Javascript
vue初尝试--项目结构(推荐)
2018/01/30 Javascript
JS中获取 DOM 元素的绝对位置实例详解
2018/04/23 Javascript
js实现查询商品案例
2020/07/22 Javascript
js实现金山打字通小游戏
2020/07/24 Javascript
VUE实现吸底按钮
2021/03/04 Vue.js
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
[57:22]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第五场
2018/04/10 DOTA
Python中的包和模块实例
2014/11/22 Python
Python方法的延迟加载的示例代码
2017/12/18 Python
Python从使用线程到使用async/await的深入讲解
2018/09/16 Python
对python For 循环的三种遍历方式解析
2019/02/01 Python
Python利用matplotlib做图中图及次坐标轴的实例
2019/07/08 Python
详解使用scrapy进行模拟登陆三种方式
2021/02/21 Python
捷克领先的户外服装及配件市场零售商:ALPINE PRO
2018/01/09 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
英语专业个人求职自荐信
2013/09/21 职场文书
文秘专业毕业生就业推荐信
2013/11/08 职场文书
《最后的姿势》教学反思
2014/02/27 职场文书
我的老师教学反思
2014/05/01 职场文书
班级学雷锋活动总结
2014/06/26 职场文书
岗位竞聘报告范文
2014/11/06 职场文书
城管个人总结
2015/02/28 职场文书
pytorch交叉熵损失函数的weight参数的使用
2021/05/24 Python
解决Python中的modf()函数取小数部分不准确问题
2021/05/28 Python
AJAX实现省市县三级联动效果
2021/10/16 Javascript