当前位置: 首页 > 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.mrgr.cn/news/33941.html

相关文章:

  • MYSQL 库,表 基本操作
  • Vue3 -- 环境变量的配置【项目集成3】
  • 万字长文解读深度学习——Transformer
  • 机器学习基础04
  • 校园二手交易网站毕业设计基于SpringBootSSM框架
  • 从0学习React(11)
  • 【Linux 从基础到进阶】 Google Cloud Platform 配置与管理
  • 网络通信——路由器、交换机、集线器(HUB)
  • EP26 在onLoad周期获取参数获取对应的数据
  • PHP中如何使用三元条件运算符
  • 深入理解Python中的数据结构:deque
  • 告别枯燥:我开发了一个在电脑桌面上使用弹幕来背单词的软件
  • C语言 | Leetcode C语言题解之第429题N叉树的层序遍历
  • C++ | Leetcode C++题解之第430题扁平化多级双向链表
  • git-repo系列教程(6) 在自己服务器上搭建git-repo仓库
  • 2024 离线ASR和TTS推荐与示例
  • 【二等奖论文】2024年华为杯研究生数学建模E题成品论文获取入口
  • Java 每日一刊(第15期):内部类
  • java8新特新(二)
  • AI学习指南深度学习篇-Adadelta的数学原理
  • Project Online 高级版部署方案
  • 7款国内AI搜索引擎大全网站
  • Kotlin Android 环境搭建
  • uniapp map设置高度为100%后,会拉伸父容器的高度
  • MateBook 16s 2023在Deepin下开启性能模式,调节风扇转速到最大,全网首发!
  • 返利机器人在电商返利系统中的负载均衡实现