首页 > 其他分享 >Vue 3 中 defineExpose() 函数的使用

Vue 3 中 defineExpose() 函数的使用

时间:2024-07-15 20:58:12浏览次数:10  
标签:count Vue defineExpose value childRef increment 函数

什么是 defineExpose()?

defineExpose() 是 Vue 3 提供的一个 Composition API 函数,用于明确指定哪些内部响应式状态或函数可以被外部访问。

如何使用 defineExpose()?

在子组件中定义:

import { ref, defineExpose } from 'vue'

export default {
  setup() {
    const count = ref(0)
    
    function increment() {
      count.value++
    }
    
    // 使用 defineExpose 显式暴露 count 和 increment 方法
    defineExpose({
      count,
      increment
    })
  }
}

注意:defineExpose() 应该放在 setup() 函数的末尾,因为任何在它之后声明的变量或函数都不会被自动包含在暴露的对象中。 

在父组件中访问:

<template>
  <ChildComponent ref="childRef" />
</template>

<script setup>
import ChildComponent from './ChildComponent.vue';

const childRef = ref(null);

// 在 setup() 函数中使用子组件的暴露方法
onMounted(() => {
  if (childRef.value) {
    console.log(childRef.value.count); // 访问 count 属性
    childRef.value.increment(); // 调用 increment 方法
  }
});
</script>

 

 

标签:count,Vue,defineExpose,value,childRef,increment,函数
From: https://blog.csdn.net/m0_63306944/article/details/140415583

相关文章

  • vue3快速上手指南
    1.Vue3简介2020年9月18日,Vue.js发布版3.0版本,代号:OnePiece(n经历了:4800+次提交、40+个RFC、600+次PR、300+贡献者官方发版地址:Releasev3.0.0OnePiece·vuejs/core截止2023年10月,最新的公开版本为:3.3.41.1.【性能的提升】打包大小减少41%。初次渲染快......
  • Vue--DIFF 算法
    一、什么是DIFF算法?DIFF算法用于比较两棵虚拟DOM树的差异,从而生成最小化的DOM更新操作。这个过程通常分为以下几个步骤:树形结构的对比:逐层对比新旧虚拟DOM树,找出差异节点。最小化更新:对实际DOM进行最小量的修改,以反映虚拟DOM的变化。二、Vue的DIFF算法原理......
  • 全面分析构造函数(1)
    什么是构造函数             构造函数是在创建类对象时,由系统自动调用,初始化新对象的函数,给其中的成员变量赋值。构造函数没有返回值,名字与类名相同,有参数,所以可以进行函数重载,构造函数大致可以分为一下几类:无参构造:没有参数的构造函数,也是默认构造函数有参......
  • Vue3中,使用TSX/JSX编写的父组件,如何向子组件中传递具名插槽(slot)的内容
    子组件(Child)-模板代码:<template><divclass="child-component"><divclass="header-box"><slotname="header"></slot></div><slot></slot></div></tem......
  • 基于springboot+vue“智慧食堂”(毕设+实现+源码+数据库)
    摘要随着Internet的发展,人们的日常生活已经离不开网络。未来人们的生活与工作将变得越来越数字化,网络化和电子化。网上管理,它将是直接管理“智慧食堂”系统的最新形式。本LW是以构建“智慧食堂”系统为目标,使用java技术制作,由管理员和用户两大部分组成。着重论述了系统设计......
  • 14 mysql 函数
    在mysql中,函数主要分为内置函数(系统函数)和自定义函数不管是内置函数还是自定义函数,都是使用select函数名(参数列表);字符串函数char_length():判断字符串的字符数length():判断字符串的字节数(字符集有关)SELECTchar_length('你好,中国'),length('你好,中国');--返回结果:51......
  • vue3+vite学习日记之路由
    一、新项目开启网上的项目视频大多数要什么加好友、评论啥的,我嫌麻烦,还是自己边看边写自己的项目吧。ps:可能会和参考视频有一些差异。二、项目创建先创建项目并进行一些安装配置:1、npmcreatevite@latest->输入项目名称->选择vue->选择ts->根据提示进行 2、安装vue-rou......
  • 2024-07-15 vue组件发布npm后,再使用,样式不见了?==》查看样式是否在dist包里,有的话应
    哎,嗯。。。emmm。。。好,问题就是这样的,最近写了vue组件打算上到npm,然后上是上了,但是样式却没有生效??左上角是组件样式本地调试的截图,可以看到是生效的,右上角的截图是我在别的项目引用了我写的这个库,结果样式却没有生效。我打包后的文件列表如下: 注意:style.css包含了所有的样......
  • STM32标准库函数功能介绍————EXTI库
    1.voidEXTI_DeInit(void);函数解释:EXTI的反初始化函数,即恢复默认状态。参数解释:无参数2.voidEXTI_Init(EXTI_InitTypeDef*EXTI_InitStruct);函数解释:EXTI的初始化函数参数解释:注意要加&号3.voidEXTI_StructInit(EXTI_InitTypeDef*EXTI_InitStruct);函数解释:将EXTI......
  • opencv—常用函数学习_“干货“_7
    目录十九、模板匹配从图像中提取矩形区域的子像素精度补偿(getRectSubPix)在图像中搜索和匹配模板(matchTemplate)比较两个形状(轮廓)的相似度(matchShapes)解释二十、图像矩计算图像或轮廓的矩(moments)计算图像或轮廓的Hu不变矩(HuMoments)解释使用示例二一、......