3种vue路由传参的基本模式


Posted in Javascript onFebruary 22, 2018

路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功。

在vue路由中,支持3中传参方式。

场景,点击父组件的li元素跳转到子组件中,并携带参数,便于子组件获取对应li的数据,显示相应的正确的内容。

父组件中:

<li v-for="article in articles" @click="getDescribe(article.id)">

方案一:

getDescribe(id) {
// 直接调用$router.push 实现携带参数的跳转
    this.$router.push({
     path: `/describe/${id}`,
    })

// 方案一,需要对应路由配置如下:
  {
   path: '/describe/:id',
   name: 'Describe',
   component: Describe
  }
// 很显然,需要在path中添加/:id来对应 $router.push 中path携带的参数。

// 在子组件中可以使用来获取传递的参数值。
$route.params.id

方案二:

// 父组件中:通过路由属性中的name来确定匹配的路由,通过params来传递参数。
    this.$router.push({
     name: 'Describe',
     params: {
      id: id
     }
    })

// 对应路由配置: 注意这里不能使用:/id来传递参数了,因为父组件中,已经使用params来携带参数了。
  {
   path: '/describe',
   name: 'Describe',
   component: Describe
  }

//子组件中: 这样来获取参数
$route.params.id

方案三:

// 父组件:使用path来匹配路由,然后通过query来传递参数
这种情况下 query传递的参数会显示在url后面?id=?
  this.$router.push({
     path: '/describe',
     query: {
      id: id
     }
    })

// 对应路由配置:
  {
   path: '/describe',
   name: 'Describe',
   component: Describe
  }

// 对应子组件: 这样来获取参数
$route.query.id

// 这里要特别注意 在子组件中 获取参数的时候是$route.params 而不是
$router 这很重要~~~

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
实现超用户体验 table排序javascript实现代码
Jun 22 Javascript
javascript字符串拼接的效率问题
Dec 25 Javascript
浅析tr的隐藏和显示问题
Mar 05 Javascript
Angularjs 基础入门
Dec 26 Javascript
纯javascript制作日历控件
Jul 17 Javascript
javaScript如何跳出多重循环break、continue
Sep 01 Javascript
vue编译打包本地查看index文件的方法
Feb 23 Javascript
JS拖拽排序插件Sortable.js用法实例分析
Feb 20 Javascript
vue.js路由mode配置之去掉url上默认的#方法
Nov 01 Javascript
原生JS实现多条件筛选
Aug 19 Javascript
vue element实现表格合并行数据
Nov 30 Vue.js
详解Vue2的diff算法
Jan 06 Vue.js
webpack打包并将文件加载到指定的位置方法
Feb 22 #Javascript
vue2.0 elementUI制作面包屑导航栏
Feb 22 #Javascript
webpack将js打包后的map文件详解
Feb 22 #Javascript
浅谈用Webpack路径压缩图片上传尺寸获取的问题
Feb 22 #Javascript
深入理解ES6中let和闭包
Feb 22 #Javascript
vue+iview+less+echarts实战项目总结
Feb 22 #Javascript
在vscode中统一vue编码风格的方法
Feb 22 #Javascript
You might like
无线电波是什么?它是怎样传输的?
2021/03/01 无线电
打造计数器DIY三步曲(中)
2006/10/09 PHP
smarty section简介与用法分析
2008/10/03 PHP
晋城吧对DiscuzX进行的前端优化要点
2010/09/05 PHP
phpStudy配置多站点多域名和多端口的方法
2017/09/01 PHP
php实现的顺序线性表示例
2019/05/04 PHP
PHP正则之正向预查与反向预查讲解与实例
2020/04/06 PHP
Prototype 1.5.0_rc1 及 Prototype 1.5.0 Pre0小抄本
2006/09/22 Javascript
使用Modello编写JavaScript类
2006/12/22 Javascript
combox改进版 页面原型参考dojo的,比网上jQuery的那些combox功能强,代码更小
2010/04/15 Javascript
JavaScript中的数值范围介绍
2014/12/29 Javascript
JavaScript中this的9种应用场景及三种复合应用场景
2015/09/12 Javascript
jQuery增加与删除table列的方法
2016/03/01 Javascript
jQuery插件FusionWidgets实现的Cylinder图效果示例【附demo源码】
2017/03/23 jQuery
微信小程序 首页制作简单实例
2017/04/07 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
微信小程序支付前端源码
2018/08/29 Javascript
layer弹出框确定前验证:弹出消息框的方法(弹出两个layer)
2019/09/21 Javascript
JS深入学习之数组对象排序操作示例
2020/05/01 Javascript
Vue3配置axios跨域实现过程解析
2020/11/25 Vue.js
Python 中pandas.read_excel详细介绍
2017/06/23 Python
python机器学习之决策树分类详解
2017/12/20 Python
Python中的上下文管理器和with语句的使用
2018/04/17 Python
Python实现手写一个类似django的web框架示例
2018/07/20 Python
Python logging模块用法示例
2018/08/28 Python
浅谈python连续赋值可能引发的错误
2018/11/10 Python
tensorflow 2.0模式下训练的模型转成 tf1.x 版本的pb模型实例
2020/06/22 Python
大专生的学习自我评价
2013/12/04 职场文书
高一地理教学反思
2014/01/18 职场文书
婚礼主持词
2014/03/13 职场文书
小学教师节活动总结
2015/03/20 职场文书
社会实践单位意见
2015/06/05 职场文书
2016年员工政治思想表现评语
2015/12/02 职场文书
用Python制作灯光秀短视频的思路详解
2021/04/13 Python
浅谈resultMap的用法及关联结果集映射
2021/06/30 Java/Android
SQL Server数据库的三种创建方法汇总
2023/05/08 MySQL