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 相关文章推荐
脚本吧 - 幻宇工作室用到js,超强推荐share.js
Dec 23 Javascript
Jquery 获取指定标签的对象及属性的设置与移除
May 29 Javascript
两种方法基于jQuery实现IE浏览器兼容placeholder效果
Oct 14 Javascript
jquery比较简洁的软键盘特效实现方法
Mar 19 Javascript
JavaScript中指定函数名称的相关方法
Jun 04 Javascript
jQuery插件jqGrid动态获取列和列字段的方法
Mar 03 Javascript
详解angularjs 关于ui-router分层使用
Jun 12 Javascript
React实践之Tree组件的使用方法
Sep 30 Javascript
微信小程序实现预览图片功能
Oct 22 Javascript
vue.js的双向数据绑定Object.defineProperty方法的神奇之处
Jan 18 Javascript
关于element-ui的隐藏组件el-scrollbar的使用
May 29 Javascript
jquery插件实现图片悬浮
Apr 16 jQuery
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
星际争霸任务指南——虫族
2020/03/04 星际争霸
在WIN98下以apache模块方式安装php
2006/10/09 PHP
Yii2中简单的场景使用介绍
2017/06/02 PHP
Whatever:hover 无需javascript让IE支持丰富伪类
2010/06/29 Javascript
基于jquery的返回顶部效果(兼容IE6)
2011/01/17 Javascript
jQuery实现动画效果的实例代码
2013/05/07 Javascript
js加减乘除丢失精度问题解决方法
2014/05/16 Javascript
jQuery实现选项卡切换效果简单演示
2015/12/09 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
2016/05/23 Javascript
JS提示:Uncaught SyntaxError: Unexpected token ILLEGAL错误的解决方法
2016/08/19 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
JS实现点击链接切换显示隐藏内容的方法
2017/10/19 Javascript
layui 监听表格复选框选中值的方法
2018/08/15 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
Node.js 实现抢票小工具 &amp; 短信通知提醒功能
2019/10/22 Javascript
Element Steps步骤条的使用方法
2020/07/26 Javascript
[46:10]2014 DOTA2国际邀请赛中国区预选赛 CnB VS HGT
2014/05/21 DOTA
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
python创建关联数组(字典)的方法
2015/05/04 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
五种Python转义表示法
2020/11/27 Python
HTML5 Canvas阴影使用方法实例演示
2013/08/02 HTML / CSS
英国网上香水店:Fragrance Direct
2016/07/20 全球购物
店长职务说明书
2014/02/04 职场文书
药品采购员岗位职责
2014/02/08 职场文书
行政助理工作职责范本
2014/03/04 职场文书
上班离岗检讨书
2014/09/10 职场文书
工会2014法制宣传日活动总结
2014/11/01 职场文书
2015年煤矿工作总结
2015/04/28 职场文书
关于迟到的检讨书
2015/05/06 职场文书
创业计划之特色精品店
2019/08/12 职场文书
Docker下安装Oracle19c
2022/04/13 Servers
Redis特殊数据类型Geospatial地理空间
2022/06/01 Redis