当前位置: 首页 > news >正文

Vue路由传参的几种方式-案例

router-link 进行页面按钮式路由跳转传参

Router配置

{path: 'homeDetails/:id',//params传参name:'homeDetails'component: () =>import ('@/views/home/homeDetails.vue'),//子路由的绝对路径
},{path: 'homeDetails/',//query传参name:'homeDetails'component: () =>import ('@/views/home/homeDetails.vue'),//子路由的绝对路径
},

父组件home点击传参

// params传参
<router-link to="/homeDetails/12345"></router-link>
<router-link to="{name:'homeDetails',params:{id:12345}"></router-link>//切记之呢个用name,不能用path//query传参
<router-link to="/homeDetails?id=12345"></router-link>
<router-link to="{path:'/homeDetails',query:{id:12345}"></router-link>
<router-link to="{name:'homeDetails',query:{id:12345}"></router-link>

子组件homeDetails接受参数

// 子组件使用this.$route.params.id来接收路由参数
<template><div><span>我是从父组件传递过来的id:</span>{{this.$route.params.id}}</div>//或<div><span>我是从父组件传递过来的id:</span>{{id}}</div>
</template>
<script>export default{data(){id:''},mounted(){this.id = this.$route.params.id  //12345this.id = this.$route.query.id  //12345}} 
</script>

this.$router.push进行编程式路由跳转传参

Router配置

params第一种传参路由配置
{path: '/homeDetails/:id',//要传递的参数前面加:component: () =>import ('@/views/home/homeDetails.vue')
},params第二种(name传参)或 query方式的路由配置
{path: '/homeDetails',name:'homeDetails'component: () =>import ('@/views/home/homeDetails.vue')
},

组件home点击传参

// 例如表格中点击表名称跳转新页面需要把id传到新页面使用
<template><el-table :data="tableDatas"><el-table-column label="产品名称"><template slot-scope="scope" @click="handleClick(scope.row.id)">{{ scope.row.name}}</template></el-table-column>...</el-table></template><script>export default{data(){tableDatas:[];//表格数据},methods:{handleClick(id){console.log(id) //121345this.$router.push({path:`/homeDetails/${id}`}) //params方式传参第一种方式this.$router.push({name:'homeDetails',params:{id:id}}) //params方式传参第二种方式// 或this.$router.push({path:`/homeDetails`, query:{id:id}}) // query方式传参}}} 
</script>

组件homeDetails接受参数

// 子组件使用this.$route.params.id来接收路由参数
<template><div><span>这就是我需要的id:</span>{{$route.params.id || $route.query.id}}</div>//或<div><span>这也是我需要的id:</span>{{id}}</div>
</template>
<script>export default{data(){id:''},mounted(){this.id = this.$route.params.id  //121345  params传参方式接收//或this.id = this.$route.query.id  //121345  query传参方式接收}} 
</script>

http://www.dtcms.com/a/146170.html

相关文章:

  • 系统分析师知识点:访问控制模型OBAC、RBAC、TBAC与ABAC的对比与应用
  • ONLYOFFICE协作空间3.1发布:虚拟数据房间中基于角色的表单填写、房间模板、改进访客管理等
  • 利用WSL2的镜像功能访问Windows下的所有网卡
  • 日志文件太大,如何分卷压缩便于传输
  • 第 2 篇:初探时间序列 - 可视化与基本概念
  • 【网络编程】从零开始彻底了解网络编程(三)
  • IQ信号和实信号的关系与转换的matlab实现
  • 软件工程师中级考试-上午知识点总结(上)
  • Docker概念详解
  • Netdata 监控多台服务器
  • 【大模型ChatGPT +DeepSeeK+python】最新AI赋能Python长时序植被遥感动态分析、物候提取、时空变异归因及RSEI生态评估
  • JavaScript与TypeScript
  • ‌射频功率放大器的核心工作机制与组件设计
  • 从模拟到数字:舵机控制技术的飞跃!
  • Java中 关于编译(Compilation)、类加载(Class Loading) 和 运行(Execution)的详细区别解析
  • vue3数据响应式丢失的情况有哪些
  • 极狐GitLab CEO 柳钢受邀出席 2025 全球机器学习技术大会
  • 大语言模型提示词工程详尽实战指南
  • 【计网】三四章习题
  • Linux-编辑器的使用
  • 【Linux】线程安全与线程同步
  • 单页面应用的特点,什么是路由,VueRouter的下载,安装和使用,路由的封装抽离,声明式导航的介绍和使用
  • 【Easylive】为什么需要手动转换 feign.Response 到 HttpServletResponse
  • 关于 梯度下降算法、线性回归模型、梯度下降训练线性回归、线性回归的其他训练算法 以及 回归模型分类 的详细说明
  • Dify忘记管理员密码,重置的问题
  • ADB -> pull指令拉取手机文件到电脑上
  • 【图像标注技巧】目标检测图像标注技巧
  • elastic/go-elasticsearch与olivere/elastic
  • 如何建设企业级合成数据中台?架构设计、权限治理与复用机制全解
  • 通过Docker Desktop配置OpenGauss数据库的方法(详细版+图文结合)