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

Vue 组件通信三要素:Props、Emit、Refs

1. Props(父 → 子)

父组件通过自定义属性向子组件传递数据。
子组件使用props数组(或对象)声明接收的属性名,父组件在模板中像 HTML 属性一样赋值。

vue

<!-- 父组件 --> <Child :msg="parentMsg" /> <!-- 子组件 --> <script> export default { props: ['msg'] // 或对象形式带类型校验 } </script>

2. Emit(子 → 父)

子组件通过$emit触发自定义事件,并携带参数。
父组件使用@eventNamev-on:eventName监听,触发后执行自身方法,并接收子组件传来的参数。

vue

<!-- 子组件 --> <button @click="$emit('update', value)">触发</button> <!-- 父组件 --> <Child @update="handleUpdate" />

这种模式与EventEmitter的事件驱动机制类似,属于发布-订阅思想。


3. Refs(父直接调用子)

父组件通过ref属性给子组件起名,然后通过this.$refs.xxx获取子组件实例,从而直接调用子组件的方法读取其属性,并可传递参数。

vue

<!-- 父组件 --> <Child ref="childRef" /> <button @click="callChildMethod">调用</button> <script> export default { methods: { callChildMethod() { this.$refs.childRef.doSomething('param') console.log(this.$refs.childRef.someData) } } } </script>

补充:Vue 3 中的变化

  • 组合式 API中使用definePropsdefineEmits声明,更类型友好。

    vue

    <script setup> const props = defineProps({ msg: String }) const emit = defineEmits(['update']) emit('update', 'newValue') </script>
  • v-model本质上就是props+emit的语法糖(默认modelValue属性和update:modelValue事件)。


总结

方式方向用途
Props父 → 子传递数据
Emit子 → 父触发事件、传递参数
Refs父 → 子直接调用子组件方法/属性(打破单向流,谨慎使用)

合理搭配这三种方式,即可轻松应对 Vue 中绝大部分组件通信场景。

http://www.jsqmd.com/news/1162213/

相关文章:

  • Gemini OpenAI兼容协议深度解析与私有网关实践
  • 自己建站和找公司做SEO哪个转化高?如何选择:搞懂这2个核心
  • VietOCR API开发指南:构建企业级OCR识别服务
  • Obsidian首页模板终极指南:三步打造你的个性化知识管理中心
  • 医疗AI实战:如何将lungmask集成到医学影像分析系统
  • 2026 无锡包包回收公司排名:易奢福资质齐全,支持稀有皮具鉴定 - 奢侈品回收实体店
  • 基于51/STM32单片机校车/公交车安全检测系统智能楼宇火灾报警132(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 电容去耦半径怎么算?我写了个工具
  • 终极SfM评估指南:使用Detector-FreeSfM在ETH3D/IMC数据集上实现高精度三维重建
  • 重要通知:8月31日阿里云认证要下架这些科目!
  • 别亏!佛山钻石回收差价暗藏玄机,2026年7月本地渠道估价标准差距明显 - 奢侈品回收中心
  • 10分钟掌握Qlever查询优化:让SPARQL查询速度提升10倍的技巧
  • 基于提示工程与RAG融合的大模型问答效果提升策略研究
  • 2026北京名表回收哪家口碑好?毓典连锁零套路好评多,欧米茄回收优选旺旭专业门店 - 奢品流通笔谈
  • SimplyTyped社区贡献指南:如何扩展和自定义类型工具
  • 小实验-MPLS VPN Option B(锐捷设备)
  • 抖音批量下载终极指南:5分钟搞定无水印视频、音乐、直播录制
  • 2026合肥防水避坑指南:安徽国交高新教你识破5大陷阱 - 资讯焦点
  • LangChain Visualizer实现原理:从Hijacking技术到ICE UI集成的深度解析
  • 权威发布:2026上海阳台改造公司8强榜单益鸟美居凭综合实力位列第一 - 优企甄选
  • 全面解析163MusicLyrics:高效跨平台歌词自动同步方案
  • Detector-FreeSfM核心架构揭秘:无检测器SfM技术如何革新三维重建流程
  • Xposed-Rimet开发者指南:自定义钉钉插件开发入门
  • Windows/WSL安装opencode配置火山方舟DeepSeek、GLM等模型
  • 应急排查方法
  • 2026鹰潭本地认可 5 家土壤检测机构实地测评汇总 TOP5 重金属 + 养分 pH + 污染风险监测 附电话地址 - 中安检测集团
  • 为什么选择Phoenix.PubSub?对比其他分布式PubSub系统的10大优势分析
  • Requests-Scala vs 其他Scala HTTP客户端:为什么选择它?终极对比指南
  • AI 编程总结
  • 2026盐城本地认可 5 家金银铜铁铅锌矿石检测机构实地测评汇总 TOP5 品位鉴定 + 元素分析 + 贵金属含量检测 附电话地址 - 鉴安检测