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 相关文章推荐
Mootools 图片展示插件(lightbox,ImageMenu)收集集合
May 21 Javascript
基于jquery的$.ajax async使用
Oct 19 Javascript
电子商务网站上的常用的js放大镜效果
Dec 08 Javascript
21个值得收藏的Javascript技巧
Feb 04 Javascript
JavaScript动态创建link标签到head里的方法
Dec 22 Javascript
解决jquery插件:TypeError:$.browser is undefined报错的方法
Nov 21 Javascript
easyui validatebox验证
Apr 29 Javascript
15个值得开发人员关注的jQuery开发技巧和心得总结【经典收藏】
May 25 Javascript
js addDqmForPP给标签内属性值加上双引号的函数
Dec 24 Javascript
Vue.js 2.0学习教程之从基础到组件详解
Apr 24 Javascript
vue项目中v-model父子组件通信的实现详解
Dec 10 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
Jun 19 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
PHP默认安装产生系统漏洞
2006/10/09 PHP
php 多线程上下文中安全写文件实现代码
2009/12/28 PHP
浅析SVN常见问题及解决方法
2013/06/21 PHP
PHP正则提取不包含指定网址的图片地址的例子
2014/04/21 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
ThinkPHP和UCenter接口冲突的解决方法
2016/07/25 PHP
PHP实现二叉树深度优先遍历(前序、中序、后序)和广度优先遍历(层次)实例详解
2018/04/20 PHP
js png图片(有含有透明)在IE6中为什么不透明了
2010/02/07 Javascript
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
js触发onchange事件的方法说明
2014/03/08 Javascript
TinyMCE汉化及本地上传图片功能实例详解
2016/05/31 Javascript
JavaScript数据类型转换的注意事项
2016/07/31 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
深入理解javascript中concat方法
2016/12/12 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
socket.io实现在线群聊功能
2017/04/07 Javascript
vue.js实例对象+组件树的详细介绍
2017/10/20 Javascript
[03:37]2014DOTA2国际邀请赛 主赛事第一日胜者组TOPPLAY
2014/07/19 DOTA
Python Web服务器Tornado使用小结
2014/05/06 Python
python通过floor函数舍弃小数位的方法
2015/03/17 Python
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
初探利用Python进行图文识别(OCR)
2019/02/26 Python
Python中如何将一个类方法变为多个方法
2019/12/30 Python
pytorch标签转onehot形式实例
2020/01/02 Python
python 实现关联规则算法Apriori的示例
2020/09/30 Python
html5 viewport使用方法示例详解
2013/12/02 HTML / CSS
ECOSUSI官网:女式皮革背包
2019/09/27 全球购物
组织鉴定材料
2014/06/02 职场文书
会计学专业自荐信
2014/06/25 职场文书
培训科主任岗位职责
2014/08/08 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
2014年小学辅导员工作总结
2014/12/23 职场文书
护士医德考评自我评价
2015/03/03 职场文书
教师岗位说明书
2015/09/30 职场文书
海贼王十大逆天果实 魂魂果实上榜,岩浆果实攻击力最强
2022/03/18 日漫