Vue3中的Component之间的消息传递

Vue3中的父子之间的消息传递可以通过Emit进行消息传递.详细参见Vue3的官方文档Event的说明https://vuejs.org/guide/components/events.html#declaring-emitted-events

官网中的文档读起来稍微有点费解,这里阐述一下,其实就是父Component通过v-on将回调函数传递给子Component,子Component通过emit函数调用回调函数完成父子之间的数据传递.

子Component中的实现:

<script setup lang="ts">
const emit = defineEmits<{
  (e: 'change', id: number): void
  (e: 'update', value: string): void
}>()
</script>

其中‘change’,‘update’为Emit Event的Key, id等为回调函数的参数定义,可以定义多个参数,定义方法类似:例如 

(e: 'change', id: number,param2:string, xxxx): void

在子Component发送消息的时候调用函数

emit(“change”, param1, param2,xxx)

父Component的调用子Component的使用v-on来传递回调函数.

<ChildComponent @change="father_fun"/>   fatcher_fun为父Component的函数

在使用中遇到困惑的问题是使用Vue-Router的<routerview/>怎么传递,后来发现<routerview @chang="father_fun"/>直接加就可以.

 

posted @   magicduan  阅读(194)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示