vue3+ts+vite--路由跳转,params传参好像丢失了?

前言

相信大家一定写过后台管理系统,有一个很普遍的功能,就是点击编辑,根据id,跳转到相对应的编辑页面,id是通过路由params传递过去了,但是还有一个需求是要将父组件的名称也传递过去 ,过程特别顺利,一顿操作猛如虎,一看打印undefined!!!请看:  

这是需要点击编辑的父组件:

这是接收参数的子组件:

  • vue3取消了2.0部分api,所以路由跳转传值方式有所不同。
  • 当然有取消,肯定新增也是有的,所以vue3.0新增的API如下:
  1. useRoute
  2. useRouter
  • 使用方法如下:

(1):在父组件引入useRouter,并且定义变量接收一下useRouter:

import { useRouter } from 'vue-router';const router = useRouter();

(2):路由跳转

//单纯的跳转路由 
router.push('msg');//对象形式
router.push({path:'msg'});//命名路由,我的命名路由是Msg;id和passVlue是自定义传参的名称,input.value是input要输入的内容
router.push({ name:'EditItem',params: { id: passEditIds.value, passName:  editProgramName }});

所以根据视频操作,我的功能完全代码如下:

20241018-141939

(1):想要根据id跳转,就得配置路由,所以在router.ts组件配置:

//引入要跳转的编辑组件,下面是我自己的路径
import editProgramCom from '../views/screenAdvertising/programEditDialog/editProgramCom.vue'// program -- 跳转编辑组件{path: `/editProgramCom/:id`,name: 'EditItem',component: editProgramCom,props: true// 确保传递 params 作为 props  }

(2):父组件,通过命名路由跳转携带id:

// 编辑
const editProgramItem = (editProgramId: number, editProgramName: string) => {// console.log(editProgramName)// const url = `/programEditDialog/editProgramCom/`passEditIds.value = String(editProgramId)passEditName.value = editProgramNamerouter.push({ name: 'EditItem', params: { id: passEditIds.value, passName:  editProgramName } });
}

(2.1):说明:事件括号里面的参数都是通过插槽scope.row获取的,如果想获取id就是scope.row.id,如果是name就是scope.row.name,当然我的数据结构是这样,具体一定要打印数据结构再取值,代码:

<el-table-column prop="operation" label="操作"><template #default="scope"><el-button size="small"@click="editProgramItem(scope.row.id, scope.row.name)">编辑</el-button><el-button size="small" @click="eazyEditProgram(scope.row)">简单编辑</el-button><el-button size="small" @click="delProgramItem(scope.row.id)">删除</el-button></template></el-table-column>

现在就要点击编辑然后跳转了,然后就是undefined:

20241018-145120

打印了好多次还是undefined,突然就想到了params参数会丢失,那么params和query可不可以一起用呢?可以的!修改后的代码如下:

// 编辑
const editProgramItem = (editProgramId: number, editProgramName: string) => {// console.log(editProgramName)// const url = `/programEditDialog/editProgramCom/`passEditIds.value = String(editProgramId)passEditName.value = editProgramNamerouter.push({ name: 'EditItem', params: { id: passEditIds.value, }, query: { passName: editProgramName } });
}

 子组件接收代码,引入API如下:

import { useRoute } from 'vue-router'const route = useRoute()    //接收,这里偷懒,没有用变量接收,只是给伙伴们看下用法
onMounted(() => {// passData()console.log(route.params.id,route.query.passName)
})

效果图-点击编辑,名称是自由飞翔:

 子组件:

结语:

到这里就结束了,大佬们多多指教 !

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/57056.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

宁波市网站建设让你的网站更吸引人

宁波市网站建设让你的网站更吸引人 在数字化时代&#xff0c;拥有一个吸引人的网站已成为企业成功的关键因素之一。尤其在宁波市&#xff0c;随着经济的发展和互联网的普及&#xff0c;越来越多的企业意识到网站建设的重要性。那么&#xff0c;如何才能让你的网站更加吸引人呢&…

贪心day7

文章目录 前言使每位学生都有座位的最少移动次数分发饼干运动员和训练师的最大匹配数检查一个字符串是否可以打破另一个字符串优势洗牌 前言 &#x1f4ab;你好&#xff0c;我是辰chen&#xff0c;本文旨在准备考研复试或就业 &#x1f4ab;文章题目大多来自于 leetcode&#x…

webstorm 编辑器配置及配置迁移

1.下载地址 WebStorm&#xff1a;JetBrains 出品的 JavaScript 和 TypeScript IDE 其他版本下载地址 2.安装 点击下一步安装&#xff0c;可根据需要是否删除已有版本 注意&#xff1a; 完成安装后需要激活 3.设置快捷键 以下为个人常用可跳过或根据需要设置 如&#xff1a…

性能测试概念篇

一、性能测试(概念&#xff09; 为了发现系统性能问题或获取系统性能相关指标而进⾏的测试 ⼀般在真实环境、特定负载条件下&#xff0c;通过⼯具模拟实际软件系统的运行及其操作&#xff0c;同时监控性能各项指标&#xff0c;最后对测试结果进行分析来确定系统的性能情况 常…

汽车免拆诊断案例 | 2023款零跑C01纯电车后备厢盖无法电动打开和关闭

故障现象  一辆2023款零跑C01纯电车&#xff0c;累计行驶里程约为2万km&#xff0c;车主进厂反映&#xff0c;后备厢盖无法电动打开和关闭。 故障诊断  接车后试车&#xff0c;操作后备厢盖外侧、驾驶人侧及遥控钥匙上的后备厢盖开启按钮&#xff0c;可以听到后备厢盖解锁的…

【设计模式】深入理解Python中的适配器模式(Adapter Pattern)

深入理解Python中的适配器模式&#xff08;Adapter Pattern&#xff09; 在软件开发中&#xff0c;常常会遇到需要让不兼容的类或接口协同工作的问题。适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&#xff0c;通过提供一个包装器对象&#xff0c;…

J1:ResNet-50算法实战与解析(鸟类识别)

J1周&#xff1a;ResNet-50算法实战与解析(鸟类识别&#xff09; **理论背景**☕1、CNN算法发展2、ResNet介绍3、ResNet-50介绍1、Input->STAGE 0:2、残差块&#xff08;STAGE1->STAGE4&#xff09; **PyTorch实现**1、导入库并设置GPU2、导入和检查数据3、划分数据集4、…

图示详解OpenEuler下Samba多用户身份验证配置、测试

前言 前文《图例详解OpenEuler下Samba安装、配置和测试》已对Samba服务的工作原理、安装、配置和测试&#xff0c;做了系统的介绍&#xff0c;并对匿名用户的访问samba服务器做了配置&#xff0c;相必读者已对samba服务的流程有了初步、系统的了解&#xff0c;本文在以上基础上…

C++进阶:哈希

✨✨所属专栏&#xff1a;C✨✨ ✨✨作者主页&#xff1a;嶔某✨✨ 哈希概念 哈希(hash)⼜称散列&#xff0c;是⼀种组织数据的⽅式。从译名来看&#xff0c;有散乱排列的意思。本质就是通过哈希函数把关键字Key跟存储位置建⽴⼀个映射关系&#xff0c;查找时通过这个哈希函数…

C语言:符号“->”在C语言中什么意思呢?

1.C语言中符号“->”的意义&#xff1a; ‌指针中的->表示用于访问指针所指向的结构体或联合体的成员。‌ 这是一个操作符&#xff0c;通常用于简化代码&#xff0c;可以替代使用(*ptr).member的方式。 ->操作符的具体用法是&#xff0c;当你有一个指向结构体的指针时…

小红书笔记详情接口技术解析

小红书的笔记详情接口是小红书开放平台提供的一种服务&#xff0c;允许开发者通过API&#xff08;应用程序编程接口&#xff09;获取小红书上笔记的详细信息。这些信息包括但不限于笔记的标题、内容、图片、标签、点赞数、评论数等关键数据。本文将详细介绍如何使用小红书笔记详…

Android 关于引用unityLibrary依赖库无法加载so库问题或脚本报错问题

Unity编辑器导出 Android 项目结构 会生成unityLibrary依赖库&#xff0c;复制到其他项目使用时发现脚本一直在报错&#xff0c;结果发现是so没有引用到的问题 1.在 app 目录下的AndroidManifest.xml文件 application节点添加 <application android:extractNativeLibs&qu…

MySQL数据库:基础介绍下载与安装

数据库基础知识先谈发音MySQL如何发音&#xff1f;在国内MySQL发音有很多种&#xff0c;Oracle官方文档说他们念作My sequal[si:kwəl]。 数据库基本概念 1。数据数据&#xff08;Data&#xff09;是指对客观事物进行描述并可以鉴别的符号&#xff0c;这些符号是可识别的、抽…

【Android】Jetpack入门知识总结(LifeCycle,ViewModel,LiveData,DataBinding等)

文章目录 LifeCycle使用Lifecycle解耦页面与组件自定义控件实现LifecycleObserver接口注册生命周期监听器 使用LifecycleService解耦Service与组件使用ProcessLifecycleOwner监听应用程序生命周期 ViewModel用法在 Fragment 中使用 ViewModel LiveDataDataBinding导入依赖基本用…

Pandas | 通过PUBG数据集进行数据分析并理解函数使用

PUBG数据分析 PUBG数据集train 数据分析iloc和loc 过滤参数人数少的比赛duplicated().count() 和 transform(count)countplot绘图函数 补充&#xff1a;查看判断pd的某一列是否没有重复值方法 1: 使用 duplicated() 方法方法 2: 使用 nunique() 方法方法 3: 使用 value_counts(…

探索Adobe Acrobat Reader的高级功能:提升PDF文档处理效率

探索Adobe Acrobat Reader的高级功能&#xff1a;提升PDF文档处理效率 Adobe Acrobat Reader&#xff0c;作为Adobe系列中的一款PDF阅读器&#xff0c;早已超越了传统阅读器的范畴&#xff0c;成为了一款功能强大的PDF文档处理工具。无论是商务人士、学生还是科研人员&#x…

4418 , TF 卡烧写, 无法启动,TF卡启动报错

问题: 在使用TF卡烧写的过程中,出现 TF卡无法启动的情况,报错如下: 解决:  我一直以为是 烧写的过程不对,或者是 烧写的uboot 镜像不对,或者是核心板有问题。 但是后来发现,我如果使用 另一台电脑 烧写HMI 的UBOOT的时候,我使用的是同一个 核心…

C语言指针应用题[从大到小顺序输出]

C语言简单指针应用题: 输入两个整数&#xff0c;按大到小输出它们 这段代码的作用是接收用户输入的两个整数&#xff0c;然后通过指针操作将较大的数和较小的数进行交换&#xff0c;并输出从大到小排列的两个数。 使用指针变量p1&#xff0c;p2和temp&#xff0c;p1对应最终大…

边缘计算网关助力煤矿安全远程监控系统

煤矿开采环境复杂&#xff0c;危险程度高&#xff0c;每一次事故都带给行业血淋淋的教训&#xff0c;安全问题也是政府与行业亟待解决的难题。伴随着技术的发展&#xff0c;煤矿智能化成为行业探索的新方向&#xff0c;降低安全风险也是智能化的重要目标之一。防微杜渐是安全生…

Markdown编辑器测试文章

Markdown编辑器测试文章 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题&#xff0c;有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一…