VUE3中defineExpose的使用方法

news/2024/7/7 20:13:34

使用 <script setup> 的组件是默认关闭的——即通过模板引用或者 $parent 链获取到的组件的公开实例,不会暴露任何在 <script setup> 中声明的绑定。

可以通过 defineExpose 编译器宏来显式指定在 <script setup> 组件中要暴露出去的属性
官网传送门

在vue3的setup中,组件默认是关闭的,对一个子组件使用ref,不能获取任何在 <script setup> 中声明的绑定。
defineExpose是编译宏,用于显式地指定在 <script setup> 组件中要暴露出去的属性。如下示例

父组件

<script setup lang="ts">
import { ref, onMounted } from 'vue'
import ChildComponent from '@/views/articles/ChildComponent.vue'
const childeRef = ref()
onMounted(() => {
  childeRef.value.loadList([{ id: 1, name: '22' }]) // 调用子组件函数
})
</script>
<template>
  <ChildComponent ref="childeRef"></ChildComponent>
</template>

子组件

<script setup lang="ts">
import { ref } from 'vue'

const a = ref(2)
const loadList = (item: any) => {
  // 函数体
  console.log(item)
}

defineExpose({
  a,
  loadList
})
</script>
<template>
  <div>child</div>
</template>

子组件defineExpose暴露响应式数据a和方法loadList,父组件ref获取子组件实例可以调用当前子组件暴露出来的数据a和方法loadList


在这里插入图片描述


http://lihuaxi.xjx100.cn/news/1557866.html

相关文章

Python 数独求解器

文章目录 使用回溯算法在Python中解决数独总结 Sudoku&#xff08;数独&#xff09;是一种基于逻辑的数字填充谜题游戏&#xff0c;最受喜爱的是那些热爱逻辑和推理的人。解决数独谜题有助于提高集中注意力和逻辑思维能力。 本文介绍了如何使用Python解决数独谜题。 使用回溯算…

C语言学习:14、递归函数

所谓递归&#xff0c;就是函数自己调用自己 递归就是将大问题分解成小问题&#xff0c;分而治之&#xff1b; 递归分解的是有限的问题&#xff0c;无限的问题就不能递归了,会导致程序崩溃。 //数列求和 //Sn a1 a1 ... an //Sn Sn-1 an, S1 a1 程序示例1&#xff1a;求…

力扣刷题:寻找两个正序数组的中位数、最长回文子串

今日刷题又开始了 一、寻找两个正序数组的中位数 题目链接&#xff1a;https://leetcode.cn/problems/median-of-two-sorted-arrays/ 给定两个大小分别为 m 和 n 的正序&#xff08;从小到大&#xff09;数组 nums1 和 nums2。请你找出并返回这两个正序数组的 中位数 。 算法…

Postman应用——Headers请求头设置

文章目录 Header设置Header删除或禁用Header批量编辑Header预设添加 一般在接口需要校验签名时&#xff0c;Headers请求头用来携带签名和生成签名需要的参数&#xff0c;在Postman也可以设置请求头在接口请求时携带参数。 Header设置 说明&#xff1a; Key&#xff1a;Header…

按月统计数据——mysql实现

业务场景 对某类业务数据&#xff0c;按月统计数量&#xff0c;返回当年各个月份的任务数量。 思路 按照创建时间&#xff0c;格式化为yyyy-mm的month字段&#xff0c;然后根据month进行分组查询&#xff0c;统计count作为数量 SELECT DATE_FORMAT(create_time, %Y-%m) AS mon…

面向面试知识--Lottery项目

面向面试知识–Lottery项目 1.设计模式 为什么需要设计模式&#xff1f; &#xff08;设计模式是什么&#xff1f;优点有哪些&#xff1f;&#xff09; 设计模式是一套经过验证的有效的软件开发指导思想/解决方案&#xff1b;提高代码的可重用性和可维护性&#xff1b;提高团…

【使用malloc函数动态模拟开辟二维数组的三种方法】

方法1.用指针数&#x1f9d0; 首先&#xff1a;看一下原理图(以开辟整型二维数组三行四列为例&#xff0c;以下都是):&#x1f4bb; 其次&#xff1a; 先看一下用malloc申请一维数组:&#x1f92f; int *p(int *)malloc(10*sizeof(int));//开辟10个内存空间接着&#xff1a;申…

Docker 安装MySQL Exporter

1.拉取镜像 [rootlocalhost ~]# docker pull prom/mysqld-exporter2.MySQL创建用户并分配权限 CREATE USER exporterlocalhost IDENTIFIED BY 123456 WITH MAX_USER_CONNECTIONS 3; GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO exporterlocalhost; FLUSH PRIVILEGE…