vue3 父子组件调用

vue3 父子组件调用

父组件调用子组件方法 子组件使用defineExpose将方法抛出

父组件定义 function,子组件通过 defineExpose 暴露方法,父组件通过 ref 获取子组件实例,然后通过 ref 获取子组件方法。

// 父组件
<template><div><el-button @click="handleClick">点击显示侧边抽屉</el-button><ChildComponent ref="childRef" /></div>
</template><script setup lang="ts">
import ChildComponent from './ChildComponent.vue';const childRef = ref(null);function handleClick() {let row = '这是父组件给子组件弹窗抽屉传递分参数';childRef.value.showDrawer(row);
}
</script>
// 子组件
<template><div><el-drawer v-model="drawerVisible" title="这是子组件" size="70%" class="drawer-class"><div>这是子组件 --- {{ parentRow }}</div></el-drawer></div>
</template><script setup lang="ts" name="">
const drawerVisible = ref(false);
const emit = defineEmits(['detail']);
const parentRow = ref('');
// 显示弹窗
const showDrawer = (row) => {drawerVisible.value = true;parentRow.value = row;
};
defineExpose({showDrawer,
});
</script>

子组件调用父组件方法 defineEmits

// 父组件
<template><div><el-button @click="handleClick">点击显示侧边抽屉</el-button><ChildComponent ref="childRef" @childLoad="onLoad" /></div>
</template><script setup lang="ts" name="">
import ChildComponent from './ChildComponent.vue';const childRef = ref(null);
// 父组件调用子组件方法 --- 开始
function handleClick() {let row = '这是父组件给子组件弹窗抽屉传递分参数';childRef.value.showDrawer(row);
}
// 父组件调用子组件方法 --- 结束// 子组件调用父组件方法 --- 开始
function onLoad(row) {console.log('通过子组件点击按钮,触发父组件方法,并传递参数', row);
}
// 子组件调用父组件方法 --- 结束
</script>
// 子组件
<template><div><el-drawer v-model="drawerVisible" title="这是子组件" size="70%" class="drawer-class"><div>这是子组件 --- {{ parentRow }}</div><el-button type="success" @click="handleChildClick">点击按钮父组件会打印值</el-button></el-drawer></div>
</template><script setup lang="ts" name="">
const drawerVisible = ref(false);
const parentRow = ref('');// 父组件调用子组件方法 --- 开始
const showDrawer = (row) => {drawerVisible.value = true;parentRow.value = row;
};
defineExpose({showDrawer,
});
// 父组件调用子组件方法 --- 结束// 子组件调用父组件方法 --- 开始
const emit = defineEmits(['childLoad']);
function handleChildClick() {emit('childLoad', '子组件加载完成');
}
// 子组件调用父组件方法 --- 结束
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/881013.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Cherry键盘的FN+F9游戏模式与Ctrl+Fn功能

简言 在电竞和日常办公领域&#xff0c;Cherry键盘以其卓越的按键反馈和耐用性而闻名。今天&#xff0c;我们将深入探讨Cherry键盘的两个独特功能&#xff1a;FNF9游戏模式和CtrlFn锁定功能。 介绍 FNF9&#xff1a;一键切换游戏模式 功能介绍&#xff1a; FNF9是Cherry键…

零基础编程从哪开始学?

目录 第一、零基础怎么学习编程&#xff1f;第二、什么书籍、教程或者博主比较好 第一、零基础怎么学习编程&#xff1f; 1. 确定目的而不是语言。 首先&#xff0c;你要知道你学习编程是为了什么目的&#xff0c; 或者说你学习编程的初心是什么&#xff1f; 可能你对游戏开发…

JMeter源码解析之JMeter命令行新增命令

JMeter源码解析之JMeter命令行新增命令 需求描述 需要新增一条命令&#xff0c;能够在JMeter命令行中能够展示输入对应的JMeter命令&#xff0c;能够展示对应的命令信息 查看命令效果如下&#xff1a; apache-jmeter-5.1\bin>jmeter --? Copyright © 1999-2024 The …

深度学习每周学习总结J1(ResNet-50算法实战与解析 - 鸟类识别)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 目录 0. 总结1. 设置GPU2. 导入数据及处理部分3. 划分数据集4. 模型构建部分5. 设置超参数&#xff1a;定义损失函数&#xff0c;学习率&a…

Python 解析 html

一、场景分析 假设有如下 html 文档&#xff1a; 写一段 python 脚本&#xff0c;解析出里面的数据&#xff0c;包括经度维度。 <div classstorelist><ul><li lng"100.111111" lat"10.111111"><h4>联盟店1</h4><p>…

资源网站分享

云计算文档中心各个方向(云计算 大数据 路由器 交换机 无线 物联网 安全 光模块 智能管理与运维 移动通信 服务器 存储 PON ICG信息通信 EPCN网关 License Server 其他产品 智能终端 传输产品 云简网络 商用终端 ALGC SMB 产品)云计算-云计算产品-云计算解决方案-新华三集团-H3…

【2024】基于mysqldump的数据备份与恢复

基于mysqldump备份与恢复 mysqldump是一个用于备份 MySQL 数据库的实用工具。 它可以将数据库的结构&#xff08;如数据库、表、视图、存储过程等的定义&#xff09;和数据&#xff08;表中的记录&#xff09;导出为文本文件&#xff0c;这些文本文件可以包含 SQL 语句&#…

从 ElasticSearch 中删除数据的几种方式

在Elasticsearch中删除数据是一个常见的操作&#xff0c;它可以通过多种方式实现&#xff0c;以满足不同的应用场景和需求。以下是从Elasticsearch中删除数据的几种主要方式&#xff1a; 1. 删除索引&#xff08;Index&#xff09; 删除索引是Elasticsearch中删除数据的最彻底…

【C语言】数组练习

【C语言】数组练习 练习1&#xff1a;多个字符从两端移动&#xff0c;向中间汇聚练习2、二分查找 练习1&#xff1a;多个字符从两端移动&#xff0c;向中间汇聚 编写代码&#xff0c;演示多个字符从两端移动&#xff0c;向中间汇聚 练习2、二分查找 在⼀个升序的数组中查找指…

--- java数据结构 map set ---

java中map 和 set的底层实现是通过搜索树和哈希函桶来实现 搜索树 二叉搜索树有叫二叉排序树 他具有以下的特点 若存在左节点&#xff0c;那么他左节点的值一定小于根节点 若存在右节点&#xff0c;那么他右节点的值一定大于根节点 它的左右子树也是搜索树 对他进行中序…

Oracle架构之物理存储中各种文件详解

文章目录 1 物理存储1.1 简介1.2 数据文件&#xff08;data files&#xff09;1.2.1 定义1.2.2 分类1.2.2.1 系统数据文件1.2.2.2 撤销数据文件1.2.2.3 用户数据文件1.2.2.4 临时数据文件 1.3 控制文件&#xff08;Control files&#xff09;1.3.1 定义1.3.2 查看控制文件1.3.3…

PostgreSQL 创建账号与数据库:从连接到权限配置的完整指南

PostgreSQL 创建账号与数据库&#xff1a;从连接到权限配置的完整指南 文章目录 PostgreSQL 创建账号与数据库&#xff1a;从连接到权限配置的完整指南一 使用 psql 连接数据库二 创建数据库和账号三 退出当前连接四 用新的账号登录连接五 运行 SQL 文件六 App 连接 本文详细讲…

大数据与人工智能:基础与应用的多维思考

大数据与人工智能&#xff1a;基础与应用的多维思考 前言一、时代定位与发展方向二、人工智能的本质与学科融合三、大数据和人工智能的构成要素与大众需求四、计算机系统结构与基础软件的重要性五、研究途径与领域知识的作用六、发展的态度与责任 前言 当下&#xff0c;大数据…

分布式学习02-CAP理论

文章目录 CAP三指标一致性可用性分区容错性 CAP不可能三角P存在的必要性CP理论AP理论 CAP理论对分布式系统的特性做了高度抽象&#xff0c;将其抽象为一致性、可用性、分区容错性。 并对特征间的冲突做了总结&#xff1a;CAP不可能三角。 CAP三指标 一致性&#xff08;Consis…

JS进阶 4——深浅拷贝、异常处理、节流防抖

JS进阶 4——深浅拷贝、异常处理、节流防抖 1.深浅拷贝 直接复制对象的问题 const obj {uname: xiao,age: 18}const o objo.age 20console.log(o) //原来对象的age也被彻底改变了console.log(obj)浅拷贝——内部引用仍然拷贝的是地址 拷贝对象&#xff1a;Object.assdin(…

实现实时数据推送:设计一个WebSocket服务器的实用指南

实现实时数据推送:设计一个WebSocket服务器的实用指南 在现代Web应用中,实时数据推送已成为一种重要的交互方式。无论是在线聊天、实时通知还是数据监控,WebSocket都提供了一种高效的双向通信机制。本文将详细介绍如何使用Python设计一个WebSocket服务器,支持实时数据推送…

python 实现djb2哈希算法

djb2哈希算法介绍 DJB2哈希算法是一种简单且快速的哈希算法&#xff0c;由Daniel J. Bernstein设计。这种算法的实现非常简单&#xff0c;适用于短键值的哈希表&#xff0c;也常被用于嵌入式设备和资源受限的系统。 基本原理 DJB2算法的原理是将输入的字符串视为一个字节数组…

Windows环境Apache httpd 2.4 web服务器加载PHP8:Hello,world!

Windows环境Apache httpd 2.4 web服务器加载PHP8&#xff1a;Hello&#xff0c;world&#xff01; &#xff08;1&#xff09;首先需要安装apache httpd 2.4 web服务器&#xff1a; Windows安装启动apache httpd 2.4 web服务器-CSDN博客文章浏览阅读222次&#xff0c;点赞5次&…

std::string

std::string是C标准库中的一个基本类模板&#xff0c;专门用于处理字符串。它提供了一个可变长度的字符序列&#xff0c;以及一系列用于字符串操作的方法。std::string是值类型&#xff0c;这意味着当它作为函数参数传递或赋值时&#xff0c;整个字符串数据会被复制。 std::st…

Git 下载及安装超详教程(2024)

操作环境&#xff1a;Win 10、全程联网 一、什么是Git&#xff1f; Git 是一个开源的分布式版本控制系统&#xff0c;由 Linus Torvalds 创立&#xff0c;用于有效、高速地处理从小到大的项目版本管理。Git 是目前世界上最流行的版本控制系统&#xff0c;被广泛用于软件开发中…