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 相关文章推荐
基于AngularJS实现页面滚动到底自动加载数据的功能
Oct 16 Javascript
JS控制静态页面传递参数并获取参数应用
Aug 10 Javascript
AngularJs $parse、$eval和$observe、$watch详解
Sep 21 Javascript
Node.js的Mongodb使用实例
Dec 30 Javascript
JavaScript数据结构之数组的表示方法示例
Apr 12 Javascript
Angular2.js实现表单验证详解
Jun 23 Javascript
Vue学习笔记进阶篇之过渡状态详解
Jul 14 Javascript
vue插件vue-resource的使用笔记(小结)
Aug 04 Javascript
微信小程序学习笔记之跳转页面、传递参数获得数据操作图文详解
Mar 28 Javascript
使用Layui搭建后台管理界面的操作方法
Sep 20 Javascript
js 图片懒加载的实现
Oct 21 Javascript
Javascript Symbol原理及使用方法解析
Oct 22 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环境――Appserv
2006/12/13 PHP
PHP中的生成XML文件的4种方法分享
2012/10/06 PHP
PHP读取文件内容后清空文件示例代码
2014/03/18 PHP
PHP版本的选择5.2.17 5.3.27 5.3.28 5.4 5.5兼容性问题分析
2016/04/04 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
基于jquery的下拉框改变动态添加和删除表格实现代码
2020/09/12 Javascript
基于JQuery的类似新浪微博展示信息效果的代码
2012/07/23 Javascript
JavaScript版TAB选项卡效果实例
2013/08/16 Javascript
JavaScript 中的日期和时间及表示标准介绍
2013/08/21 Javascript
一个简单的jQuery插件ajaxfileupload.js实现ajax上传文件例子
2014/06/26 Javascript
JavaScript实现算术平方根算法-代码超简单
2015/09/11 Javascript
谈一谈javascript中继承的多种方式
2016/02/19 Javascript
Javascript对象字面量的理解
2016/06/22 Javascript
用AngularJS来实现监察表单按钮的禁用效果
2016/11/02 Javascript
利用yarn代替npm管理前端项目模块依赖的方法详解
2017/09/04 Javascript
Vue用v-for给循环标签自身属性添加属性值的方法
2018/10/18 Javascript
ES6 class的应用实例分析
2019/06/27 Javascript
JS document文档的简单操作完整示例
2020/01/13 Javascript
原生javascript的ajax请求及后台PHP响应操作示例
2020/02/24 Javascript
javascript实现移动端红包雨页面
2020/06/23 Javascript
[11:01]2014DOTA2西雅图邀请赛 冷冷带你探秘威斯汀
2014/07/08 DOTA
[03:24]CDEC.Y赛前采访 努力备战2016国际邀请赛中国区预选赛
2016/06/25 DOTA
[52:37]完美世界DOTA2联赛循环赛 Forest vs DM BO2第一场 10.29
2020/10/29 DOTA
python 域名分析工具实现代码
2009/07/15 Python
Python之PyUnit单元测试实例
2014/10/11 Python
在Python中使用NLTK库实现对词干的提取的教程
2015/04/08 Python
Django Admin中增加导出Excel功能过程解析
2019/09/04 Python
python 实现一个图形界面的汇率计算器
2020/11/09 Python
英国时尚配饰、珠宝和服装网站:KJ Beckett
2020/01/23 全球购物
高中课前三分钟演讲稿
2014/08/18 职场文书
副乡长民主生活会个人对照检查材料思想汇报
2014/10/01 职场文书
2014年前台文员工作总结
2014/12/08 职场文书
2015毕业生实习工作总结
2014/12/12 职场文书
Python 发送SMTP邮件的简单教程
2021/06/24 Python
Python Django项目和应用的创建详解
2021/11/27 Python
简单聊聊Golang中defer预计算参数
2022/03/25 Golang