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

Vue3通过$emit实现子向父传递数据

引言

        子组件通过$emit触发事件,并传递数据,父组件在使用子组件时就可以绑定子组件事件,在事件处理函数中拿到子组件传来的数据

子组件传递数据

函数声明:$emit('事件名', 传递的数据 . . .)

                子组件传递的数据会依次传递给父组件的事件函数

使用:

① 在html标签中使用

直接执行$emit()函数即可

<!--    子组件名为search -->
<template><view class="root"><input type="text"><view class="search" @click="$emit('search', 100)">搜索</view></view>
</template>

② 在 js 代码中使用

  1. 通过defineEmits()函数定义事件

  2. 拿到返回对象触发事件

<!--    子组件名为search -->
<template><view><view class="root"><input type="text"><view class="search" @click="search">搜索</view></view></view>
</template>
​
<script setup>import {defineEmits} from 'vue';//  定义事件const emit = defineEmits(['search'])//  触发事件的函数const search = () => {//  触发该组件的search事件emit('search', 100)}
</script>

父组件接收数据

绑定子组件定义的事件,通过事件处理函数的参数获取传来的数据

<template><view class="root"><!-- 绑定事件函数 --><search @search="getSearchData"></search></view>
</template>
​
<script setup>const getSearchData = (data) => {//  拿到子组件传递来的数据console.log(data)}
</script>

http://www.lryc.cn/news/449462.html

相关文章:

  • 代码随想录算法训练营第十四天|递归 226.翻转二叉树 101. 对称二叉树 104.二叉树的最大深度 111.二叉树的最小深度
  • Spark 任务与 Spark Streaming 任务的差异详解
  • Git提示信息 Pulling is not possible because you have unmerged files.
  • python编程开发“人机猜拳”游戏
  • 丹摩智算平台部署 Llama 3.1:实践与体验
  • SpringCloud 2023各依赖版本选择、核心功能与组件、创建项目(注意事项、依赖)
  • 串行化执行、并行化执行
  • 二叉搜索树(c++版)
  • 每日1题-7
  • 简单实现log记录保存到文本和数据库
  • 敏感字段加密 - 华为OD统一考试(E卷)
  • go 安装三方库
  • Java 中的 volatile和synchronized和 ReentrantLock区别讲解和案例示范
  • 从GDAL中 读取遥感影像的信息
  • 算法闭关修炼百题计划(一)
  • vue3实现打字机的效果,可以换行
  • 【如何学习操作系统】——学会学习的艺术
  • stm32 flash无法擦除
  • Android—ANR日志分析
  • 9.29 LeetCode 3304、3300、3301
  • 近万字深入讲解iOS常见锁及线程安全
  • linux创建固定大小的文件夹用于测试
  • 大模型学习路线:这会是你见过最全最新的大模型学习路线【2024最新】
  • 了解云计算工作负载保护的重要性,确保数据和应用程序安全
  • Swagger3基本使用
  • 如何借助Java批量操作Excel文件?
  • JUC并发编程_Lock锁
  • Unity中的功能解释(数学位置相关和事件)
  • ElementPlus---Timeline 时间线组件使用示例
  • 推荐4款2024年大家都在用的高质量翻译器。