最近在做一个项目涉及到列表到详情页的参数的传递,网上搜索一下路由传参,结合自己的写法找到一种适合自己的,不过也对三种写法都有了了解,在此记录一下

  <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)的更多相关文章

  1. vue路由传参的三种方式以及解决vue路由传参页面刷新参数丢失问题

    最近项目中涉及到跨页面传参数和后台进行数据交互,看到需求之后第一反应就是用路由传参来解决:Vue中给我们提供了三种路由传参方式,下面我们一个一个的来看一下: 方法一:params传参: this.$r ...

  2. vue路由传参的三种方式

    方式一 通过query方式传参 这种情况下 query传递的参数会显示在url后面 this.$router.push({ path: '/detail', query: { id: id } }) ...

  3. Vue路由传参的几种方式

    原 Vue路由传参的几种方式 2018年07月28日 23:52:40 广积粮缓称王 阅读数 12613   前言:顾名思义,vue路由传参是指嵌套路由时父路由向子路由传递参数,否则操作无效.传参方式 ...

  4. Vue-router路由传参的三种方式

    本文简单介绍下三种路由传参: (1)在路由中配置 { path : ‘/home/:id’, name : ‘Dome’, component } 然后写调用的时候 this.$router.push ...

  5. React中使用 react-router-dom 路由传参的三种方式详解【含V5.x、V6.x】!!!

    路由传值的三种方式(v5.x) params参数 //路由链接(携带参数): <Link to='/demo/test/tom/18'}>详情</Link> //或 <L ...

  6. vue里面路由传参的三种方式

    1.方式一 通过query的方式也就是?的方式路径会显示传递的参数 HTML的方式<router-link :to="{name:xxx,query:{page:1,code:8899 ...

  7. vue 路由传参的三种基本模式

    路由是连接各个页面的桥梁,而参数在其中扮演者异常重要的角色,在一定意义上,决定着两座桥梁是否能够连接成功. 在vue路由中,支持3中传参方式. 场景,点击父组件的li元素跳转到子组件中,并携带参数,便 ...

  8. vue 路由传参的三种方法

    API在这里  https://router.vuejs.org/guide/essentials/navigation.html 第一种传参 通过路由属性中的name来确定匹配的路由,通过param ...

  9. React路由传参的三种方式

    方式 一:          通过params         1.路由表中                     <Route path=' /sort/:id '   component= ...

随机推荐

  1. 2018-2019-2 20165237《网络攻防技术》Exp1 PC平台逆向破解

    2018-2019-2 20165237<网络攻防技术>Exp1 PC平台逆向破解 一.实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调 ...

  2. iOS 单选框

    iOS 单选框,可自定义横向和纵向显示,可定义显示的个数和内容,自定义间距,提供block 和代理方法可供使用,欢迎拍砖! github地址: https://github.com/joshuaGen ...

  3. Running Tensorflow on AMD GPU

    keras+tensorflow: based on AMD GPU https://rustyonrampage.github.io/deep-learning/2018/10/18/tensorf ...

  4. windows安装pycrypto报错

    在Windows上安装的时候直接 pip install pycrypto会报错 由于直接安装安装Crypto模块 会报错如下:因此需要先安装Microsoft Visual C++ 9.0 进入下载 ...

  5. 基于Python的Webservice开发(二)-如何用Spyne开发Webservice

    一.功能需求 本次案例是开发一个Item的新建的WebService.IN&OUT的类型JsonDocument. 通过传入相关的参数创建Item,且相关的参数可以被缺省. 二.实现代码 引入 ...

  6. 逆元知识普及(扫盲篇) —— from Judge

    watch out 本文是博主的 csdn 上搬过来的,格式有点崩,看不下去的可以去 博主的 csdn上看(上面 格式会好很多,并且有些公式也用 $\LaTeX$  update 上去了) 最近有点颓 ...

  7. 在Cyclone IVE中使用进位链的几个规则

    最近在FPGA上做ps级的Delay line,所以认真剖析了一下Cyclone IVE4的布局布线延迟.这里说明CARRY链的几个特性规则,如有错误请各位大大指出,谢谢.(另外由于匆忙没有时间验证其 ...

  8. python之可变长参数

    参数组:*args,**kwargs 实参有按位置和按关键字两种形式定义,*args和**kwargs 位置参数:按照从左到右的顺序定义的参数 位置形参:必选参数 位置实参:按照位置给形参传值 关键字 ...

  9. 2、阿里云ECS发送邮件到腾讯企业邮箱(ECS默认不开启25端口)

    阿里云ECS默认禁用25端口导致发邮件失败. 方法一: 使用shell脚本发送邮件,需要配置mailx 1.安装软件 yum install mailx 2.配置 vim /etc/mail.rc在文 ...

  10. Git 的使用(皮毛))

    1.安装git 软件(下一步直到完成) 2.码云注册(保存代码) 3.创建代码托管仓库 4.创建文件夹 5.写东西并提交到码云 1.在某个文件夹下写东西 2.写完之后在此文件夹下鼠标右键,并选择[gi ...