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

vue父子组件通信(一)父子调用和通信(2)VUE3

父组件调用子组件

同vue2

一、父 → 子:props

父组件传数据给子组件:

<!-- 父组件 --> <ChildComponent :message="hello" :count="5" />
<!-- 子组件 --> <script setup> const props = defineProps({ message: String, count: Number }) </script>

二、子 → 父:emit

子组件触发事件,父组件监听:

<!-- 子组件 --> <script setup> const emit = defineEmits(['update', 'close']) function handleClick() { emit('update', { value: 123 }) } </script>
<!-- 父组件 --> <ChildComponent @update="handleUpdate" /> <script setup> function handleUpdate(data) { console.log(data.value) // 123 } </script>

三、父访问子:expose+ref

父组件直接调用子组件的方法或访问数据:

<!-- 子组件 --> <script setup> import { ref } from 'vue' const count = ref(0) function reset() { count.value = 0 } defineExpose({ count, reset }) // 必须 expose 才能被父访问 </script>
<!-- 父组件 --> <ChildComponent ref="childRef" /> <script setup> import { ref } from 'vue' const childRef = ref(null) function callChild() { childRef.value.reset() // 调用子组件方法 } </script>

升级写法:v-model(双向绑定语法糖)

本质是props+emit的封装,适合表单类组件:

<!-- 父组件 --> <ChildComponent v-model="value" /> <!-- 等价于 --> <ChildComponent :modelValue="value" @update:modelValue="value = $event" />
<!-- 子组件 --> <script setup> defineProps(['modelValue']) const emit = defineEmits(['update:modelValue']) function onChange(val) { emit('update:modelValue', val) } </script>
http://www.jsqmd.com/news/931466/

相关文章:

  • 5分钟告别Windows预览版烦恼:OfflineInsiderEnroll零门槛使用指南
  • CCS12.2配置避坑:手把手教你为DSP28335生成可烧录的.bin文件(解决‘C:’报错)
  • Ubuntu 22.04上解决Realsense D455摄像头权限问题的保姆级教程(附Realsense-Viewer安装)
  • 学生用环保网页作业源码:含轮播图、留言表单与多页面CSS布局
  • AntV X6 自定义算法布局
  • PanoHead技术揭秘:三平面生成与体积渲染如何实现360度头部合成
  • c++: 继承(下)
  • ExtractorSharp:一站式游戏资源编辑解决方案,让NPK和IMG文件处理变得简单高效
  • 北京配眼镜推荐,配眼镜都去哪,五家店从验光到售后横向对比 - 配眼镜新资讯
  • Android 性能优化【篇五:应用启动分析流程】
  • vue父子组件通信(二)祖先调用provide / inject(1)vue2
  • 2026四川文旅局备案导游TOP5推荐|正规持证金牌向导官方可查安心出行,专业趣味讲解 - 随峰国旅
  • 福州鼓楼东街口|专业回收钻戒,实体门店放心交易 - 奢侈品回收测评
  • 别再只盯着20/60了!用Backtrader回测SMA双均线,手把手教你找到最适合你的周期参数
  • 3分钟定位热键冲突:Hotkey Detective精准排查方案
  • 2026中国超声波泥位计源头厂家权威推荐榜:从技术实力到工程选型的全景解析 - 仪表品牌排行榜
  • 高性能本地AI字幕生成系统:架构设计与实现原理
  • 网盘直链下载助手:告别限速,实现满带宽下载的终极解决方案
  • 如何用ZonyLrcToolsX三分钟解决音乐库歌词缺失难题?
  • AI-HF_Patch终极指南:5步解锁AI少女完整游戏体验
  • MySQL 8.0教学资源包:26讲PPT课件+配套可运行PHP/SQL代码,含安装配置、查询优化、存储过程、权限控制、主从复制与三个实战项目
  • 避开这些坑!STM32G473 Bootloader开发中CAN/USART升级的5个常见问题与调试心得
  • ibaPDA 7.0.1安装包:支持S7-1200/1500实时曲线监控、故障触发捕获与离线数据分析
  • 药食同源变“智商税”?AI辨体如何用技术撕开政策死结
  • 2026北京配眼镜推荐,到底要花多少,五家店配镜账单全公开 - 配眼镜新资讯
  • 麒麟V10系统4K屏字体太小?三步搞定Mate桌面DPI缩放(实测有效)
  • 2026 温州装修公司避坑指南|选对家装,省心装出理想家 - 速递信息
  • C++11并发编程:call_once一次性执行+atomic原子类型+CAS无锁编程+自旋锁
  • Meshroom:从照片到3D模型的魔法转换,免费开源工具让创作更简单
  • 你的GPU散热真的够吗?深度学习炼丹党必看的温控监控与预警设置指南(以Ubuntu/NVIDIA为例)