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 相关文章推荐
jQuery插件制作之参数用法实例分析
Jun 01 Javascript
jquery控制页面部分刷新的方法
Jun 24 Javascript
JavaScript中解析JSON数据的三种方法
Jul 03 Javascript
sso跨域写cookie的一段js脚本(推荐)
May 25 Javascript
原生js编写焦点图效果
Dec 08 Javascript
jQuery实现最简单实用的分秒倒计时
Feb 05 Javascript
Angular.js去除页面中显示的空行方法示例
Mar 30 Javascript
JS解析后台返回的JSON格式数据实例
Aug 06 Javascript
vue父组件触发事件改变子组件的值的方法实例详解
May 07 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
May 26 Javascript
Vue通过for循环随机生成不同的颜色或随机数的实例
Nov 09 Javascript
vue实现学生信息管理系统
May 30 Javascript
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
MySql中正则表达式的使用方法描述
2008/07/30 PHP
PHP 中执行排序与 MySQL 中排序
2009/04/21 PHP
PHP+Mysql日期时间如何转换(UNIX时间戳和格式化日期)
2012/07/15 PHP
WordPress过滤垃圾评论的几种主要方法小结
2016/07/11 PHP
thinkPHP框架整合tcpdf插件操作示例
2018/08/07 PHP
Laravel 框架路由原理与路由访问实例分析
2020/04/14 PHP
jQuery 第二课 操作包装集元素代码
2010/03/14 Javascript
JS Excel读取和写入操作(模板操作)实现代码
2010/04/11 Javascript
基于jquery实现控制经纬度显示地图与卫星
2013/05/20 Javascript
JSP基于Bootstrap分页显示实例解析
2016/06/12 Javascript
JavaScript将base64图片转换成formData并通过AJAX提交的实现方法
2016/10/24 Javascript
详解angular element()方法使用
2017/04/08 Javascript
详解HTML5 使用video标签实现选择摄像头功能
2017/10/25 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
jQuery简单实现根据日期计算星期几的方法
2019/01/09 jQuery
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
Vue实战教程之仿肯德基宅急送App
2019/07/19 Javascript
过滤器vue.filters的使用方法实现
2019/09/18 Javascript
[00:20]TI9不朽观赛名额抽取
2019/08/05 DOTA
Python的函数嵌套的使用方法
2014/01/24 Python
Python 字典dict使用介绍
2014/11/30 Python
python django使用haystack:全文检索的框架(实例讲解)
2017/09/27 Python
python爬虫爬取淘宝商品信息
2018/02/23 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
Python简单处理坐标排序问题示例
2019/07/11 Python
Python小程序 控制鼠标循环点击代码实例
2019/10/08 Python
Python读取yaml文件的详细教程
2020/07/21 Python
印尼第一大家居、生活和家具电子商务:Ruparupa
2019/11/25 全球购物
德国消费电子产品购物网站:Guter Kauf
2020/09/15 全球购物
康拓普公司Java笔面试
2016/09/23 面试题
Android面试题及答案
2015/09/04 面试题
一份软件工程师的面试试题
2016/02/01 面试题
机电专业毕业生求职信
2013/10/27 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
Django实现drf搜索过滤和排序过滤
2021/06/21 Python