组件通信props方式
组件通信props方式组件通信的概念简单来说在vue中组件就是来构建一个一个的页面的。所谓的组件通信就是各个组件的连接扣父子通信基石这是最基础、最高频的通信方式1.父传子Props预置代码##子组件 template div classbox h3子组件/h3 /div /template script setup langts /script style scoped .box { background-color: #88ccee; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } /style##父组件 template div classbox h3父组件/h3 Child / /div /template script setup langts import Child from ./Child.vue /script style scoped .box { background-color: #999; padding: 20px; border-radius: 10px; } /style现在我们向父组件写点数据例如父亲有100w存款import { ref } from vue; const Money ref(存折100W);现在父组件要把100w传给子组件//父组件 Child :moneyMoney ///子组件 template div classbox h3子组件/h3 h3父给子的{{ money }}/h3 /div /template script setup langts defineProps([money]) /script注意这里还老生常谈的几个注意事项在HTML模板中驼峰式命名会被props自动转换为短横线形式例如initCount会被转为init-count;如果props被解构被解构出来的变量会失去响应式可以使用toRefs来为其变为响应式2. 子传父一使用回调函数的方式首先父亲先定义一个方法这个方法用于子组件向他传递东西function getToy(value: string) { console.log(value); }然后将这个函数传递给子组件Child :moneyMoney :sendToygetToy /然后我们给子组件写点数据,并生成也给按钮按钮点击之后向父组件发送数据script setup langts defineProps([money, sendToy]) import { ref } from vue; let toy ref(迪迦奥特曼) /script template div classbox h3子组件/h3 h4玩具{{ toy }}/h4 h3父给子的{{ money }}/h3 button clicksendToy(toy)把玩具给父亲/button /div /template之后我们将数据呈现到父组件上面去template div classbox h3父组件/h3 h4{{ Money }}/h4 h4 v-showChildToy子父的玩具:{{ ChildToy }}/h4 Child :moneyMoney :sendToygetToy / /div /template script setup langts import Child from ./Child.vue import { ref } from vue; let Money ref(存折100W); let ChildToy ref(); function getToy(value: string) { ChildToy.value value; } /script二使用Emits的方式、子组件通过defineEmits声明事件并在适当时机触发父组件监听该事件。直接给代码解释template div classbox h3子组件/h3 h4玩具{{ toy }}/h4 h3父给子的{{ money }}/h3 button clickhandleClick把玩具给父亲/button /div /template script setup langts defineProps([money]) import { ref } from vue; let toy ref(迪迦奥特曼) const emit defineEmits([toy]) function handleClick() { emit(toy, toy) } /script style scoped .box { background-color: #88ccee; padding: 20px; border-radius: 10px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); } /styletemplate div classbox h3父组件/h3 h4{{ Money }}/h4 h4 v-showChildToy子给父的玩具: {{ ChildToy }}/h4 Child :moneyMoney toyupdateToy / /div /template script setup langts import Child from ./Child.vue import { ref } from vue; let Money ref(存折100W); const ChildToy ref() function updateToy(val: string) { ChildToy.value val } /script style scoped .box { background-color: #999; padding: 20px; border-radius: 10px; } /style上面的代码简单解释一下defineEmits是用来声明你想要触发什么样的事件emit有两个参数第一个参数是你想触发什么样的事件第二个是事件携带的参数之后在父组件定义一个处理函数然后监听子组件的事件上面还需要引入一个event知识点我们发现再子组件中是通过event知识点我们发现再子组件中是通过event知识点我们发现再子组件中是通过emit来注册事件的然后将数据作为参数传入进行那么在父组件中是通过event接受的在原生DOM中event接受的在原生DOM中event接受的在原生DOM中event是该事件的事件对象如果是在自定义事件比如子组件emit触发的事件$event指向的是子组件emit时传递的第一个参数如果传递了多个参数$event是一个数组包含所有参数。总结props是使用频率最高的它可以实现父传子子传父如果是父传子属性值不是函数如果是子传父的话属性值就是函数了当组件有多层嵌套的时候千万不要使用Props来传递虽然这样可以但是非常痛苦Vue是单项数据流父组件通过props向子组件传递数据数据是向下流动的子组件是向父组件通知变化事件向上冒泡设计这样的数据流动的话便于调试和维护永远不要在子组件中直接修改父组件传递过来的props。

相关新闻

大前端全栈实践-基于nodejs实现服务端内核引擎

大前端全栈实践-基于nodejs实现服务端内核引擎

一、创建项目-git环境搭建 可视化管理工具Sourcetree:https://www.sourcetreeapp.com。 腾讯云CODING平台:代码仓库管理、持续集成、持续迭代、持续部署、Code Review。 腾讯云CNB平台:基于Docker生态,对环境、缓存、插件进行抽…

2026/7/5 8:51:12 阅读更多 →
NI PCI-MIO-16E-1多功能数据采集卡

NI PCI-MIO-16E-1多功能数据采集卡

NI 经典 E 系列 12 位 PCI 总线多功能数据采集卡 (DAQ),已停产多年,适用于老旧工控系统和测试设备,提供模拟 I/O、数字 I/O 与计数功能一体化解决方案一、产品特性多功能集成:集模拟输入、模拟输出、数字 I/O 和定时 / 计数器于一…

2026/5/17 11:27:59 阅读更多 →
DDD如何保护领域模型:聚合、聚合根、仓库与工厂的协同防御

DDD如何保护领域模型:聚合、聚合根、仓库与工厂的协同防御

一、引言在前几篇文章中,我们逐步构建起了DDD战术设计的核心武器库:实体和值对象构成了领域模型的基本细胞;领域服务协调跨实体的业务逻辑;防腐层守护着领域边界,抵御外部概念的污染。然而,这些细胞不能孤立…

2026/5/17 11:27:57 阅读更多 →

最新新闻

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南

国家图书馆ISBN插件:3分钟实现Calibre图书信息自动化管理的终极指南 【免费下载链接】NLCISBNPlugin 基于中国国家图书馆ISBN检索的calibre的source/metadata插件。https://doiiars.com/article/NLCISBNPlugin 项目地址: https://gitcode.com/gh_mirrors/nl/NLCIS…

2026/7/6 16:50:20 阅读更多 →
如何通过浏览器扩展自动化Markdown格式转换:Copy as Markdown技术实现详解

如何通过浏览器扩展自动化Markdown格式转换:Copy as Markdown技术实现详解

如何通过浏览器扩展自动化Markdown格式转换:Copy as Markdown技术实现详解 【免费下载链接】copy-as-markdown A browser extension to copy tabs and links as Markdown 项目地址: https://gitcode.com/gh_mirrors/co/copy-as-markdown 在技术文档编写、学术…

2026/7/6 16:46:14 阅读更多 →
高效百度网盘秒传链接实战指南:5个智能文件管理技巧解析

高效百度网盘秒传链接实战指南:5个智能文件管理技巧解析

高效百度网盘秒传链接实战指南:5个智能文件管理技巧解析 【免费下载链接】baidupan-rapidupload 百度网盘秒传链接转存/生成/转换 网页工具 (全平台可用) 项目地址: https://gitcode.com/gh_mirrors/bai/baidupan-rapidupload 百度网盘秒传链接工具是一款强大…

2026/7/6 16:46:14 阅读更多 →
如何巧妙绕过Cursor试用限制:深度解析设备标识重置技术方案

如何巧妙绕过Cursor试用限制:深度解析设备标识重置技术方案

如何巧妙绕过Cursor试用限制:深度解析设备标识重置技术方案 【免费下载链接】go-cursor-help 解决Cursor在免费订阅期间出现以下提示的问题: Your request has been blocked as our system has detected suspicious activity / Youve reached your trial request li…

2026/7/6 16:44:10 阅读更多 →
STM32F207与WSEN-ISDS加速度计运动追踪系统设计

STM32F207与WSEN-ISDS加速度计运动追踪系统设计

1. 项目背景与硬件选型解析在工业自动化和消费电子领域,精确测量物体的空间运动状态一直是个关键需求。这次我选择的硬件组合是STMicroelectronics的STM32F207VGT6微控制器搭配Wrth Elektronik的WSEN-ISDS三轴加速度计(型号2536030320001)&am…

2026/7/6 16:44:10 阅读更多 →
STM32L041C6与SLO2016构建工业级低功耗通信系统

STM32L041C6与SLO2016构建工业级低功耗通信系统

1. 项目背景与核心价值 在工业控制和物联网设备开发中,可靠的信息传递机制一直是工程师们面临的基础挑战。传统方案往往面临功耗过高、抗干扰能力不足或成本难以控制等问题。STM32L041C6微控制器与SLO2016通信模块的组合,恰好为解决这些痛点提供了一套高…

2026/7/6 16:44:10 阅读更多 →

日新闻

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2 与 MySQL 单元测试兼容性:5 个关键 SQL 语句差异与规避方案

H2与MySQL单元测试兼容性:5个关键SQL语句差异与规避方案1. 单元测试中的数据库兼容性挑战在Java开发领域,单元测试是保证代码质量的重要环节。当应用涉及数据库操作时,测试环境的搭建往往成为开发者的痛点。H2数据库因其轻量级、内存模式和快…

2026/7/6 0:01:17 阅读更多 →
Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘

Windows任务栏终极清理指南:用RBTray一键隐藏窗口到系统托盘 【免费下载链接】rbtray A fork of RBTray from http://sourceforge.net/p/rbtray/code/. 项目地址: https://gitcode.com/gh_mirrors/rb/rbtray 你是否厌倦了Windows任务栏上密密麻麻的图标&…

2026/7/6 0:01:17 阅读更多 →
Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C++ 运行时库一键安装终极指南:告别DLL缺失烦恼

Visual C 运行时库一键安装终极指南:告别DLL缺失烦恼 【免费下载链接】vcredist AIO Repack for latest Microsoft Visual C Redistributable Runtimes 项目地址: https://gitcode.com/gh_mirrors/vc/vcredist 你是否曾经遇到过这样的情况:下载了…

2026/7/6 0:05:19 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/6 8:11:50 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/6 8:11:52 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/6 6:52:56 阅读更多 →

月新闻