vue路由传参三种基本方式详解


Posted in Javascript onDecember 09, 2019

这篇文章主要介绍了vue路由传参三种基本方式详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

现有如下场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取数据。

父组件中:

<li v-for="article in articles" @click="getDescribe(article.id)">

methods:

方案一:

getDescribe(id) {
//  直接调用$router.push 实现携带参数的跳转
    this.$router.push({
     path: `/describe/${id}`,
    })

方案一,需要对应路由配置如下:

{
   path: '/describe/:id',
   name: 'Describe',
   component: Describe
  }

很显然,需要在path中添加/:id来对应 $router.push 中path携带的参数。在子组件中可以使用来获取传递的参数值。

this.$route.params.id

方案二:

父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。

this.$router.push({
     name: 'Describe',
     params: {
      id: id
     }
    })

对应路由配置: 这里可以添加:/id 也可以不添加,不添加数据会在url后面显示,不添加数据就不会显示

{
   path: '/describe',
   name: 'Describe',
   component: Describe
  }

子组件中: 这样来获取参数

this.$route.params.id

方案三:

父组件:使用path来匹配路由,然后通过query来传递参数

这种情况下 query传递的参数会显示在url后面?id=?

this.$router.push({
     path: '/describe',
     query: {
      id: id
     }
    })

对应路由配置:

{
   path: '/describe',
   name: 'Describe',
   component: Describe
  }

对应子组件: 这样来获取参数

this.$route.query.id

注意事项:

1)、这里要特别注意在父组件中跳转到子组件使用

this.$router.push("/Home");//不传参
this.$router.push({
});//传参,参数以字段的形式加入到对象大括号{ }中

2)、在子组件中获取参数的时候是

this.$route.params.id

this.$route.query.id

注意是route而不是router

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
面向对象的Javascript之二(接口实现介绍)
Jan 27 Javascript
js 获取和设置css3 属性值的实现方法
May 06 Javascript
JS操作iframe里的dom(实例讲解)
Jan 29 Javascript
jquery实现的鼠标拖动排序Li或Table
May 04 Javascript
JavaScript数据绑定实现一个简单的 MVVM 库
Apr 08 Javascript
分类解析jQuery选择器
Nov 23 Javascript
AngularJS中的JSONP实例解析
Dec 01 Javascript
Node.js连接postgreSQL并进行数据操作
Dec 18 Javascript
bootstrap滚动监控器使用方法解析
Jan 13 Javascript
基于JavaScript实现前端数据多条件筛选功能
Aug 19 Javascript
bootstrap下拉框动态赋值方法
Aug 10 Javascript
详解nuxt 微信公众号支付遇到的问题与解决
Aug 26 Javascript
vue使用nprogress实现进度条
Dec 09 #Javascript
javascript数组元素删除方法delete和splice解析
Dec 09 #Javascript
vue vant Area组件使用详解
Dec 09 #Javascript
JS中的模糊查询功能
Dec 08 #Javascript
详解一些适用于Node.js的命名约定
Dec 08 #Javascript
微信域名检测接口调用演示步骤(含PHP、Python)
Dec 08 #Javascript
vue实现数字动态翻牌的效果(开箱即用)
Dec 08 #Javascript
You might like
PHP下常用正则表达式整理
2010/10/26 PHP
php目录操作函数之获取目录与文件的类型
2010/12/29 PHP
PHP学习之字符串比较和查找
2011/04/17 PHP
PHP遍历目录函数opendir()、readdir()、closedir()、rewinddir()总结
2014/11/18 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
BOOM vs RR BO5 第三场 2.14
2021/03/10 DOTA
告诉大家什么是JSON
2008/06/10 Javascript
JavaScript.The.Good.Parts阅读笔记(一)假值与===运算符
2010/11/16 Javascript
12款经典的白富美型—jquery图片轮播插件—前端开发必备
2013/01/08 Javascript
Js判断参数(String,Array,Object)是否为undefined或者值为空
2013/11/04 Javascript
Javascript 完美运动框架(逐行分析代码,让你轻松了运动的原理)
2015/01/23 Javascript
JavaScript实现简单的tab选项卡切换
2016/01/05 Javascript
js仿支付宝填写支付密码效果实现多方框输入密码
2016/03/09 Javascript
原生js实现放大镜
2017/02/20 Javascript
HTML5+Canvas调用手机拍照功能实现图片上传(下)
2017/04/21 Javascript
js实现添加删除表格(两种方法)
2017/04/27 Javascript
如何在AngularJs中调用第三方插件库
2017/05/21 Javascript
解决AjaxFileupload 上传时会出现连接重置的问题
2017/07/07 Javascript
vue 系列——vue2-webpack2框架搭建踩坑之路
2017/12/22 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
jQuery 选择器用法基础入门示例
2020/01/04 jQuery
js实现弹幕飞机效果
2020/08/27 Javascript
使用Python的Django框架实现事务交易管理的教程
2015/04/20 Python
python实现文件的分割与合并
2019/08/29 Python
python 识别登录验证码图片功能的实现代码(完整代码)
2020/07/03 Python
Habitat家居英国官方网站:沙发、家具、照明、厨房和户外
2019/12/12 全球购物
Chinti & Parker官网:奢华羊绒女装和创新针织设计
2021/01/01 全球购物
eBay荷兰购物网站:eBay.nl
2020/06/26 全球购物
MIS软件工程师的面试题
2016/04/22 面试题
建筑安全生产目标责任书
2014/07/23 职场文书
国际贸易本科毕业生求职信
2014/09/26 职场文书
寒暑假实习证明书模板
2014/11/29 职场文书
2016年春节慰问信息大全
2015/11/30 职场文书
2016党员党课心得体会
2016/01/07 职场文书
Mysql查询时间区间日期列表,不会由于数据表数据影响
2022/04/19 MySQL