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

Vue3父子组件通信全攻略

1.3.3. vue3 父调用子 a, 子 a 调用父,子调用父子 b

1.3.3.1. 父组件(Father.vue)
<template> <ChildA ref="childA" @go="fatherMethod" :childB="childB" /> <ChildB ref="childB" /> </template> <script setup> import { ref } from 'vue' import ChildA from './ChildA.vue' import ChildB from './ChildB.vue' // 拿到子组件 ref const childA = ref(null) const childB = ref(null) // 父方法(子A要调用) function fatherMethod(msg) { console.log('父方法被调用:', msg) } // 父调用子A const callChildA = () => { childA.value.aMethod() } // 父调用子B const callChildB = () => { childB.value.bMethod() } </script>
1.3.3.2. 子 A 组件(ChildA.vue)
<template> <button @click="callFather">子A调用父方法</button> <button @click="callChildB">子A调用子B方法</button> </template> <script setup> import { defineEmits, defineProps } from 'vue' // 1. 子调用父 → emit(最标准!) const emit = defineEmits(['go']) const callFather = () => { emit('go', '我是子A,调用父方法') } // 2. 子A调用子B → 父把 childB ref 传给子A const props = defineProps({ childB: { type: Object, default: null } }) const callChildB = () => { if (props.childB) { props.childB.bMethod() } } </script>
1.3.3.3. 子 B 组件(ChildB.vue)
<template></template> <script setup> import { defineExpose } from 'vue' // 子B方法(父/子A要调用) const bMethod = () => { console.log('子B方法被调用') } // 必须暴露!否则外面拿不到 defineExpose({ bMethod }) </script>
http://www.jsqmd.com/news/896924/

相关文章:

  • 5分钟掌握国家中小学智慧教育平台电子课本下载:tchMaterial-parser智能解析工具完全指南
  • 「 论文投稿 」《International Journal of Robotics Research》录用经历
  • 绿色物联网硬件节能技术:从M2M通信到MCU的能效优化实战
  • [特殊字符] 你的论文重复率有多高?用这个免费工具3分钟就能知道
  • 冰雪传奇点卡版官网:特色单职业多流派玩法解锁多样冰雪冒险体验
  • 初创公司如何利用Taotoken管理多个AI项目的API成本
  • Windows消息防撤回完整指南:微信QQ防撤回工具全面解析
  • 告别插件!在Unity中自制高性能小地图的3个核心优化技巧(URP/移动端适用)
  • 怎样轻松下载网络视频资源?3分钟掌握开源下载神器
  • 2026化妆培训学校哪家靠谱?内行真实测评,想学化妆别乱选 - 品牌测评鉴赏家
  • 为开源项目OpenClaw配置Taotoken作为其大模型供应商的步骤
  • UnisonFlow:基于SDN与MPI感知的高性能计算网络协同优化实践
  • 现在不掌握ChatGPT攻略生成,3个月内将被淘汰——游戏MCN机构内部培训PPT首次公开(含可商用Prompt库+效果评估SOP)
  • 深入解析B站视频下载器:如何高效获取会员专属4K内容的技术实现
  • 02 飞书H5应用JSSDK鉴权实战:从零到一构建安全前端交互
  • LightGlue:如何用深度学习实现实时图像特征匹配的终极指南
  • 云服务可用性档案:从真实故障数据洞察容错机制设计
  • 全品类覆盖!2026 成都 LV / 香奈儿 / 爱马仕等大牌包包回收价值评估指南 - 奢侈品回收测评
  • AC-DC适配器、工业辅助电源、家电电源:FA8A83N-C6-L3的PWM控制IC应用版图
  • 《家业》反派田绛月出圈 杨斯凭剧抛脸演技征服观众
  • Adobe-GenP 3.0:零成本解锁Adobe创意套件的完整指南
  • 【紧急更新】OpenAI最新API v1.5已悄然限制角色深度模拟!3小时内必须掌握的4种合规绕行方案
  • 脉冲神经网络与Transformer、GNN融合:低功耗AI前沿架构解析
  • 5分钟彻底优化Windows 11:开源工具Win11Debloat让你的电脑快如闪电
  • 戴森球计划终极工厂蓝图库:如何快速搭建高效自动化产线?
  • 5分钟搞定ZPL条码测试:开源虚拟打印机终极解决方案
  • 基于分层DRL的O-RAN网络切片资源分配:HiSO-CoMA框架解析
  • 将 Claude Code 的 API 后端无缝切换至 Taotoken 的完整步骤
  • 实测CSDN AI数字营销会员:创作者效率与曝光的双重提升体验报告
  • 如何在资源受限的ESP32上实现车牌识别?探索Arduino-ESP32的边缘计算架构