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的IE和Firefox兼容性集锦
Dec 11 Javascript
基于jQuery的消息提示插件之旅 DivAlert(三)
Apr 01 Javascript
javascript 禁用IE工具栏,导航栏等等实现代码
Apr 01 Javascript
7个jQuery最佳实践
Jan 12 Javascript
一个简易的js图片轮播效果
Jul 22 Javascript
vue-resource + json-server模拟数据的方法
Nov 02 Javascript
微信小程序自动客服功能
Nov 02 Javascript
angular 组件通信的几种实现方式
Jul 13 Javascript
element-ui表格列金额显示两位小数的方法
Aug 24 Javascript
Node.js操作系统OS模块用法分析
Jan 04 Javascript
如何在JavaScript中谨慎使用代码注释
Jun 21 Javascript
2020京东618叠蛋糕js脚本(亲测好用)
Jun 02 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
介绍php设计模式中的工厂模式
2008/06/12 PHP
PHP 开源AJAX框架14种
2009/08/24 PHP
php同时使用session和cookie来保存用户登录信息的实现代码
2016/05/13 PHP
PHP+mysql实现的三级联动菜单功能示例
2019/02/15 PHP
Javascript 同时提交多个Web表单的方法
2009/02/19 Javascript
js 延迟加载 改变JS的位置加快网页加载速度
2012/12/11 Javascript
左侧是表头的JS表格控件(自写,网上没有的)
2013/06/04 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
Javascript浅谈之this
2013/12/17 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
JavaScript 七大技巧(一)
2015/12/13 Javascript
javascript每日必学之多态
2016/02/23 Javascript
简单谈谈json跨域
2016/03/13 Javascript
vue实现一个移动端屏蔽滑动的遮罩层实例
2017/06/08 Javascript
详解angularjs获取元素以及angular.element()用法
2017/07/25 Javascript
js es6系列教程 - 新的类语法实战选项卡(详解)
2017/09/02 Javascript
纯html+css+javascript实现楼层跳跃式的页面布局(实例代码)
2017/10/25 Javascript
vue.js使用v-model实现父子组件间的双向通信示例
2020/02/05 Javascript
javascript设计模式 ? 中介者模式原理与用法实例分析
2020/04/20 Javascript
js实现上传按钮并显示缩略图小轮子
2020/05/04 Javascript
Python中的exec、eval使用实例
2014/09/23 Python
python方向键控制上下左右代码
2018/01/20 Python
解决python opencv无法显示图片的问题
2018/10/28 Python
解决Python3用PIL的ImageFont输出中文乱码的问题
2019/08/22 Python
Python整数与Numpy数据溢出问题解决
2019/09/11 Python
python自动脚本的pyautogui入门学习
2020/04/01 Python
详解HTML5 Canvas绘制时指定颜色与透明度的方法
2016/03/25 HTML / CSS
CK美国官网:Calvin Klein
2016/08/26 全球购物
美国职棒大联盟官方网上商店:MLBShop.com
2017/11/12 全球购物
精灵市场:Pixie Market
2019/06/18 全球购物
银行求职推荐信范文
2013/11/30 职场文书
学校运动会广播稿100条
2014/09/14 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
php 原生分页
2021/04/01 PHP
使用python生成大量数据写入es数据库并查询操作(2)
2022/09/23 Python