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 相关文章推荐
js 效率组装字符串 StringBuffer
Dec 23 Javascript
解决遍历时Array.indexOf产生的性能问题
Jul 03 Javascript
ExtJS中文乱码之GBK格式编码解决方案及代码
Jan 20 Javascript
控制input输入框中提示信息的显示和隐藏的方法
Feb 12 Javascript
js设置和获取自定义属性的方法
Oct 20 Javascript
基于JavaScript实现窗口拖动效果
Jan 18 Javascript
详解基于webpack和vue.js搭建开发环境
Apr 05 Javascript
js学习总结之DOM2兼容处理重复问题的解决方法
Jul 27 Javascript
vue.js vue-router如何实现无效路由(404)的友好提示
Dec 20 Javascript
一步步教你利用webpack如何搭一个vue脚手架(超详细讲解和注释)
Jan 08 Javascript
layui.tree组件的使用以及搜索节点功能的实现
Sep 26 Javascript
微信小程序swiper左右扩展各显示一半代码实例
Dec 05 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 adodb操作mysql数据库
2009/03/19 PHP
PHP线程的内存回收问题
2016/07/08 PHP
ThinkPHP实现登录退出功能
2017/06/29 PHP
Django 标签筛选的实现代码(一对多、多对多)
2018/09/05 PHP
(转载)JavaScript中匿名函数,函数直接量和闭包
2007/05/08 Javascript
JavaScript 保存数组到Cookie的代码
2010/04/14 Javascript
jquery队列queue与原生模仿其实现方法分享
2014/03/25 Javascript
javascript跨域的4种方法和原理详解
2014/04/08 Javascript
jquery背景跟随鼠标滑动导航
2015/11/20 Javascript
举例讲解jQuery对DOM元素的向上遍历、向下遍历和水平遍历
2016/07/07 Javascript
canvas实现手机端用来上传用户头像的代码
2016/10/20 Javascript
Bootstrap table简单使用总结
2017/02/15 Javascript
浅谈AngularJS中使用$resource(已更新)
2017/09/14 Javascript
Vue项目使用CDN优化首屏加载问题
2018/04/01 Javascript
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
Python 由字符串函数名得到对应的函数(实例讲解)
2017/08/10 Python
python使用opencv读取图片的实例
2017/08/17 Python
Python解决走迷宫问题算法示例
2018/07/27 Python
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
2019/05/27 Python
Python面向对象之类和实例用法分析
2019/06/08 Python
python代理工具mitmproxy使用指南
2019/07/04 Python
python+logging+yaml实现日志分割
2019/07/22 Python
python中使用while循环的实例
2019/08/05 Python
Python使用扩展库pywin32实现批量文档打印实例
2020/04/09 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
介绍一下Ruby的多线程处理
2013/02/01 面试题
感恩节红领巾广播稿
2014/02/11 职场文书
房屋出售授权委托书
2014/10/12 职场文书
违纪检讨书
2015/01/27 职场文书
神农溪导游词
2015/02/11 职场文书
2015秋季幼儿园开学寄语
2015/03/25 职场文书
小区环境卫生倡议书
2015/04/29 职场文书
2015年教师见习期工作总结
2015/05/20 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS
HTML+CSS实现导航条下拉菜单的示例代码
2021/08/02 HTML / CSS