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中查找最近的共有祖先元素的实现代码
Dec 30 Javascript
十个迅速提升JQuery性能让你的JQuery跑得更快
Dec 10 Javascript
jquery中使用循环下拉菜单示例代码
Sep 24 Javascript
JQuery显示、隐藏div的几种方法简明总结
Apr 16 Javascript
深入理解JavaScript编程中的原型概念
Jun 25 Javascript
基于zepto.js简单实现上传图片
Jun 21 Javascript
AngularJS包括详解及示例代码
Aug 17 Javascript
详解使用Typescript开发node.js项目(简单的环境配置)
Oct 09 Javascript
jQuery实现新闻播报滚动及淡入淡出效果示例
Mar 23 jQuery
使用JSON格式提交数据到服务端的实例代码
Apr 01 Javascript
Javascript摸拟自由落体与上抛运动原理与实现方法详解
Apr 08 Javascript
vue 插槽简介及使用示例
Nov 19 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
Excel数据导入Mysql数据库的实现代码
2008/06/05 PHP
Zend Framework教程之动作的基类Zend_Controller_Action详解
2016/03/07 PHP
PHP For循环字母A-Z当超过26个字母时输出AA,AB,AC
2020/02/16 PHP
Jquery 点击按钮显示和隐藏层的代码
2011/07/25 Javascript
js Map List 遍历使用示例
2013/07/10 Javascript
asp.net+js实现金额格式化
2015/02/27 Javascript
JS获取数组最大值、最小值及长度的方法
2015/11/24 Javascript
基于JavaScript实现类似于百度学术高级检索功能
2016/03/02 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
轻松实现js弹框显示选项
2016/09/13 Javascript
yarn与npm的命令行小结
2016/10/20 Javascript
js绑定事件和解绑事件
2017/04/27 Javascript
浅谈webpack-dev-server的配置和使用
2018/05/17 Javascript
Node.js中的cluster模块深入解读
2018/06/11 Javascript
示例vue 的keep-alive缓存功能的实现
2018/12/13 Javascript
微信小程序HTTP接口请求封装的实现
2019/02/21 Javascript
layui输入框只允许输入中文且判断长度的例子
2019/09/18 Javascript
详解js location.href和window.open的几种用法和区别
2019/12/02 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
Vue项目打包部署到apache服务器的方法步骤
2021/02/01 Vue.js
浅谈python中的正则表达式(re模块)
2017/10/17 Python
python取代netcat过程分析
2018/02/10 Python
python爬虫之xpath的基本使用详解
2018/04/18 Python
python装饰器练习题及答案
2019/11/01 Python
Python While循环语句实例演示及原理解析
2020/01/03 Python
Python常用编译器原理及特点解析
2020/03/23 Python
html5 拖拽上传图片实例演示
2013/04/01 HTML / CSS
娇韵诗法国官网:Clarins法国
2019/01/29 全球购物
毕业生个人的自我评价优秀范文
2013/10/03 职场文书
社区平安建设汇报材料
2014/08/14 职场文书
机关干部四风问题自查报告及整改措施
2014/10/26 职场文书
2014城乡环境综合治理工作总结
2014/12/19 职场文书
工程项目经理岗位职责
2015/02/02 职场文书
大学开学典礼新闻稿
2015/07/17 职场文书
电台广播稿范文
2015/08/19 职场文书
美德少年事迹材料(2016推荐版)
2016/02/25 职场文书