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 EasyUI API 中文文档 - Parser 解析器
Sep 29 Javascript
使用jQuery内容过滤选择器选择元素实例讲解
Apr 18 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
javascript在当前窗口关闭前检测窗口是否关闭
Sep 29 Javascript
原生js实现移动端瀑布流式代码示例
Dec 18 Javascript
jQuery实现的placeholder效果完整实例
Aug 02 Javascript
原生js实现淘宝购物车功能
Jun 23 Javascript
微信小程序 登陆流程详细介绍
Jan 17 Javascript
jQuery实现滑动星星评分效果(每日分享)
Nov 13 jQuery
javascript跳转与返回和刷新页面的实例代码
Nov 20 Javascript
JavaScript中的类型检查
Feb 03 Javascript
JS深入学习之数组对象排序操作示例
May 01 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
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
PHP 函数call_user_func和call_user_func_array用法详解
2014/03/02 PHP
php禁止浏览器使用缓存页面的方法
2014/11/07 PHP
详解PHP中的null合并运算符
2015/12/30 PHP
PHP模拟post提交数据方法汇总
2016/02/16 PHP
php源码 fsockopen获取网页内容实例详解
2016/09/24 PHP
Yii CFileCache 获取不到值的原因分析
2017/02/08 PHP
PHP基于curl实现模拟微信浏览器打开微信链接的方法示例
2019/02/15 PHP
php 命名空间(namespace)原理与用法实例小结
2019/11/13 PHP
常用js字符串判断方法整理
2013/10/18 Javascript
javascript相等运算符与等同运算符详细介绍
2013/11/09 Javascript
Javscript删除数组中指定元素并返回新数组
2014/03/06 Javascript
分享两个手机访问pc网站自动跳转手机端网站代码
2020/12/24 Javascript
基于insertBefore制作简单的循环插空效果
2015/09/21 Javascript
jQuery mobile 移动web(6)
2015/12/20 Javascript
headjs实现网站并行加载但顺序执行JS
2016/11/29 Javascript
原生js二级联动效果
2017/06/20 Javascript
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
Angular动画实现的2种方式以及添加购物车动画实例代码
2018/08/09 Javascript
jquery 回调操作实例分析【回调成功与回调失败的情况】
2019/09/27 jQuery
vscode中Vue别名路径提示的实现
2020/07/31 Javascript
[55:26]DOTA2-DPC中国联赛 正赛 Aster vs LBZS BO3 第一场 2月23日
2021/03/11 DOTA
Python中编写ORM框架的入门指引
2015/04/29 Python
批量获取及验证HTTP代理的Python脚本
2017/04/23 Python
Python入门_浅谈for循环、while循环
2017/05/16 Python
Python实现简单求解给定整数的质因数算法示例
2018/03/25 Python
pygame游戏之旅 游戏中添加显示文字
2018/11/20 Python
利用pandas将非数值数据转换成数值的方式
2019/12/18 Python
Python流程控制语句的深入讲解
2020/06/15 Python
学python最电脑配置有要求么
2020/07/05 Python
Python中的With语句的使用及原理
2020/07/29 Python
Django DRF认证组件流程实现原理详解
2020/08/17 Python
陈欧的广告词
2014/03/18 职场文书
优秀学生评语大全
2014/04/25 职场文书
好习惯伴我成长演讲稿
2014/05/21 职场文书
2021年国产动漫公司排行前十名,玄机科技上榜,第二推出过铠甲勇士
2022/03/18 杂记