vue路由传参的三种方式区别(params,query)
最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下
<ul class="table_info" v-for="item in customeLsit">
<li>{{item.name}}</li>
<li>{{item.phone}}</li>
<li>{{item.date}}</li>
<li class="detail" @click="customeDetail(item.id)">详情</li>
这是列表页面,需要传递参数到详情页,下面给出三种方法
方法一:直接在路由路径后面加参数
customeDetail(id){
console.log('id',id);
this.$router.push({
path:'/custome/customeDetailPage/${id}',
})
},
需要对应路由配置如下:
{
path:'/custome/customeDetailPage/:id',
component:CDetailPage
},
//需要在path中添加/:id来对应参数
//详情页获取传递的参数
methods:{
getParams(){
let routerParams = this.$route.params.id;
this.customId = routerParams;
console.log('id',routerParams);
},
},
created(){
this.getParams()
}
方法二:利用name属性来匹配路由,然后通过params传递参数
//列表页面传参数
customeDetail(id){
console.log('id',id);
this.$router.push({
name:'CDetailPage', //注意一定要用name属性匹配路由
params:{
dataObj:id
}
})
},
//对应路由配置
{
path:'/custome/customeDetailPage',
name:'CDetailPage',
component:CDetailPage
},
//详情页面接收参数
methods:{
getParams(){
let routerParams = this.$route.params.dataObj;
this.customId = routerParams;
console.log('id',routerParams);
}, },
created(){
this.getParams()
}
第三种方法:通过path匹配路由,然后通过query传递参数
//列表页面传参
customeDetail(id){
console.log('id',id);
this.$router.push({
path:'/custome/customeDetailPage',
query:{
name:'id',
dataObj:id
}
})
},
//路由配置,name属性可有可无
{
path:'/custome/customeDetailPage',
component:CDetailPage
}, //我写的时候是没有用name属性
//详情页获取属性
methods:{
getParams(){
let routerParams = this.$route.query.dataObj;
this.customId = routerParams;
console.log('id',routerParams);
}, },
created(){
this.getParams()
}

这是query传参是路由显示的参数
vue路由传参的三种方式区别(params,query)的更多相关文章
- vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题
最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...
- vue路由传参的三种方式
方式一 通过query方式传参 这种情况下 query传递的参数会显示在url后面 this.$router.push({ path: '/detail', query: { id: id } }) ...
- Vue路由传参的几种方式
原 Vue路由传参的几种方式 2018年07月28日 23:52:40 广积粮缓称王 阅读数 12613 前言:顾名思义,vue路由传参是指嵌套路由时父路由向子路由传递参数,否则操作无效.传参方式 ...
- Vue-router路由传参的三种方式
本文简单介绍下三种路由传参: (1)在路由中配置 { path : ‘/home/:id’, name : ‘Dome’, component } 然后写调用的时候 this.$router.push ...
- React中使用 react-router-dom 路由传参的三种方式详解【含V5.x、V6.x】!!!
路由传值的三种方式(v5.x) params参数 //路由链接(携带参数): <Link to='/demo/test/tom/18'}>详情</Link> //或 <L ...
- vue里面路由传参的三种方式
1.方式一 通过query的方式也就是?的方式路径会显示传递的参数 HTML的方式<router-link :to="{name:xxx,query:{page:1,code:8899 ...
- vue 路由传参的三种基本模式
路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...
- vue 路由传参的三种方法
API在这里 https://router.vuejs.org/guide/essentials/navigation.html 第一种传参 通过路由属性中的name来确定匹配的路由,通过param ...
- React路由传参的三种方式
方式 一: 通过params 1.路由表中 <Route path=' /sort/:id ' component= ...
随机推荐
- sqli注入--利用information_schema配合双查询报错注入
目录 sqli-labs 5.6双查询报错注入通关 0x01 获取目标库名 0x02 获取库中表的数量 0x03 获取库中表名 0x04 获取目标表中的列数 0x05 获取目标表的列名 0x06 从列 ...
- docker方式mysql设置字符集
在docker上部署mysql时,mysql的默认字符集是latin1,这样如果日后有中文会出现异常,不能存储等,因为latin1是不支持中文的. 所以需要将字符集调整为utf8. 方法: 首先启动m ...
- 读spring源码(三)-ClassPathXmlApplicationContext-getBean
这次主要看了下bean的生成过程,发现个画时序图很好用的软件plantuml,充分发挥程序员的能力,能用代码解决的别叨叨别的
- find your present (2) hdoj 2095
/* author:谦智 find your present (2) hdoj 2095 法一:用暴力 法二:用map 法三: 符号是^. 异或是个位运算符号,具体是怎么操作的请百度,这里有个特性使得 ...
- C#实现在foreach中删除集合中的元素
List<string> str = new List<string>(); str.Add( "zs"); str.Add("ls") ...
- 执行大SQL脚本方法
当我们需要在SQLServer数据库里面执行一个大的文件时,会发现数据库根本无法打开该脚本文件,原因是因为查询分析器只能执行100M以内的文件,所以脚本过大就会造成内存溢出.此时我们可以使用osql工 ...
- python脚本--mysql数据库升级、备份
在公司经常要做测试环境的升级.备份.维护:升级后台的应用,不可避免要进行数据库的升级与备份,花了一个上午琢磨了一个脚本分享给大家. ToB的业务,在做环境维护的时候,有初始化环境和增量升级的环境,在测 ...
- bzoj 2741
题目描述:这里 一道非常好的题 由于强制在线,我们必须要用一些数据结构来处理 考虑分块:将整个序列分块,块内部分预处理,块外部分暴力处理 对于每个块,计算出以这个块的左端点为端点,向右枚举这个块以后的 ...
- 记一个 dubbo中hessian2反序列化 Map 的一个问题
dubbo版本: 2.5.10 解决方案: 改用 "dubbo" 序列化方式 (但是 dubbo 方式也存在一个比较坑的问题 详见: Dubbo序列化多个CopyOnWriteAr ...
- .net基础学java系列(五)慢性自杀 之 沉沦在IDE中
最近在慢学习IDEA,总是喜欢与Visual Studio! 其实,对于Visual Studio,它的官方(https://docs.microsoft.com/zh-cn/visualstudio ...