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 相关文章推荐
将CKfinder整合进CKEditor3.0的新方法
Jan 10 Javascript
jquery 的 $(&quot;#id&quot;).html() 无内容的解决方法
Jun 07 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
May 11 Javascript
jquery attr方法获取input的checked属性问题
May 26 Javascript
JS实现的系统调色板完整实例
Dec 21 Javascript
在node中如何使用 ES6
Apr 22 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
Vue 开发音乐播放器之歌手页右侧快速入口功能
Aug 08 Javascript
WebSocket的简单介绍及应用
May 23 Javascript
使用layui的layer组件做弹出层的例子
Sep 27 Javascript
小程序api实现promise封装过程解析
Nov 21 Javascript
vue3中轻松实现switch功能组件的全过程
Jan 07 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
php 购物车完整实现代码
2014/06/05 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
php基于GD库画五星红旗的方法
2015/02/24 PHP
yii2使用GridView实现数据全选及批量删除按钮示例
2017/03/01 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
JavaScript版代码高亮
2006/06/26 Javascript
可以支持多中格式的JS键盘
2007/05/02 Javascript
jQuery图片的展开和收缩实现代码
2013/04/16 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
js实现拖拽效果
2015/02/12 Javascript
实用jquery操作表单元素的简单代码
2016/07/04 Javascript
JS代码实现百度地图 画圆 删除标注
2016/10/12 Javascript
JS验证不重复验证码
2017/02/10 Javascript
React学习笔记之列表渲染示例详解
2017/08/22 Javascript
js 两个日期比较相差多少天的实例
2017/10/19 Javascript
JS动画定时器知识总结
2018/03/23 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
Node.js API详解之 querystring用法实例分析
2020/04/29 Javascript
python控制台显示时钟的示例
2014/02/24 Python
Python3基础之list列表实例解析
2014/08/13 Python
python使用datetime模块计算各种时间间隔的方法
2015/03/24 Python
很酷的python表白工具 你喜欢我吗
2019/04/11 Python
pycharm 安装JPype的教程
2019/08/08 Python
python和php学习哪个更有发展
2020/06/17 Python
python装饰器实现对异常代码出现进行自动监控的实现方法
2020/09/15 Python
python利用faker库批量生成测试数据
2020/10/15 Python
都柏林通行卡/城市通票:The Dublin Pass
2020/02/16 全球购物
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
初中毕业生的自我评价
2014/03/03 职场文书
手机被没收的检讨书
2014/10/04 职场文书
云南省召开党的群众路线教育实践活动总结会议新闻稿
2014/10/21 职场文书
2014年幼儿园教学工作总结
2014/12/04 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
毕业生爱心捐书倡议书
2015/04/27 职场文书
趣味运动会加油词
2015/07/18 职场文书
Python tensorflow卷积神经Inception V3网络结构
2022/05/06 Python