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高级程序设计 阅读笔记(四) ECMAScript中的类型转换
Feb 27 Javascript
JQuery Highcharts 动态生成图表的方法
Nov 15 Javascript
javascript中interval与setTimeOut的区别示例介绍
Mar 14 Javascript
项目实践一图片上传之form表单还是base64前端图片压缩(前端图片压缩)
Jul 28 Javascript
Bootstrap基本组件学习笔记之面板(14)
Dec 08 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
jQuery实现点击自身以外区域关闭弹出层功能完整示例【改进版】
Jul 31 jQuery
浅谈JS中this在各个场景下的指向
Aug 14 Javascript
Vue数字输入框组件的使用方法
Oct 19 Javascript
JS对日期操作封装代码实例
Nov 08 Javascript
JS实现网页时钟特效
Mar 25 Javascript
vue下拉刷新组件的开发及slot的使用详解
Dec 23 Vue.js
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
一个简单的自动发送邮件系统(三)
2006/10/09 PHP
Adodb的十个实例(清晰版)
2006/12/31 PHP
php和jquery实现地图区域数据统计展示数据示例
2014/02/12 PHP
PHP 实现代码复用的一个方法 traits新特性
2015/02/22 PHP
js removeChild 障眼法 可能出现的错误
2009/10/06 Javascript
JS遮罩层效果 兼容ie firefox jQuery遮罩层
2010/07/26 Javascript
分享27个jQuery 表单插件集合推荐
2011/04/25 Javascript
编写针对IE的JS代码两种编写方法
2013/01/30 Javascript
探讨JavaScript中声明全局变量三种方式的异同
2013/12/03 Javascript
自动化测试读写64位操作系统的注册表
2016/08/15 Javascript
Angular路由简单学习
2016/12/26 Javascript
详解js中常规日期格式处理、月历渲染和倒计时函数
2016/12/28 Javascript
BootStrap便签页的简单应用
2017/01/06 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
在vue项目中正确使用iconfont的方法
2018/09/28 Javascript
javascript验证form表单数据的案例详解
2019/03/25 Javascript
React优化子组件render的使用
2019/05/12 Javascript
用Node写一条配置环境的指令
2019/11/14 Javascript
使用typescript改造koa开发框架的实现
2020/02/04 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
Python中使用ConfigParser解析ini配置文件实例
2014/08/30 Python
Python使用matplotlib绘制动画的方法
2015/05/20 Python
Python中pygame的mouse鼠标事件用法实例
2015/11/11 Python
用Python写王者荣耀刷金币脚本
2017/12/21 Python
Python实用技巧之利用元组代替字典并为元组元素命名
2018/07/11 Python
详解python编译器和解释器的区别
2019/06/24 Python
keras .h5转移动端的.tflite文件实现方式
2020/05/25 Python
Python基于locals返回作用域字典
2020/10/17 Python
Move Free官方海外旗舰店:美国骨关节健康专业品牌
2017/12/06 全球购物
关于Java finally的面试题
2016/04/27 面试题
收银出纳员岗位职责
2014/02/23 职场文书
伊琍体标语
2014/06/25 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
开会通知短信大全
2015/04/20 职场文书
开展警示教育活动总结
2015/05/09 职场文书
初中班长竞选稿
2015/11/20 职场文书