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

defineExpose 显式导出子组件方法

当父组件调用子组件的script setup中的方法时,必须显式导出该方法。因为 script setup 中定义的变量和方法默认是局部的,只有显式导出后,父组件才能访问这些方法。

//父组件-Parent
<template>
	<el-button type="primary" @click="addOrUpdateHandle()">
    {{ $i18("add") }}
  </el-button>
  <!-- 弹窗, 新增 / 修改 -->
  <add-or-update ref="addOrUpdateRef"></add-or-update>
</template>
<script setup>
import { unref } from "vue";
const addOrUpdateHandle = (row) => {
  const instance = unref(addOrUpdateRef);
  if (instance && typeof instance.init === "function") {
    instance.init(row);
  }
};
</script>
//子组件-Child
<template>
  <el-dialog
    v-model="visible"
  >
  </el-dialog>
</template>
<script setup>
import { reactive } from "vue";
const state = reactive({
  visible: false,
});
const init = () => {
  state.visible = true;
};
// 使用 defineExpose 导出 init 方法
defineExpose({
  init,
});
</script>

http://www.kler.cn/a/326765.html

相关文章:

  • udp丢包问题
  • 学习stm32
  • HTML 基础概念:什么是 HTML ? HTML 的构成 与 HTML 基本文档结构
  • 宠物领养救助管理软件有哪些功能 佳易王宠物领养救助管理系统使用操作教程
  • 提高文本处理效率:精通awk命令中的$NF
  • 【算法】【优选算法】双指针(下)
  • 基于SSM的宠物领养管理系统的设计与实现 (含源码+sql+视频导入教程+文档+PPT)
  • MAC M1 安装brew 配置环境变量,安装dart
  • 电影系统1-MovieStrip.vue
  • 一款基于 RBAC 的 Net8 后台管理框架,权限管理,前后台分离,支持多站点单点登录(附源码)
  • 基于Apache和Tomcat的负载均衡实验报告
  • 【30天玩转python】Web开发(Flask/Django)
  • 基于springboot框架的智能招聘系统的设计与实现3hlst
  • ruoyi网页刷新后报404
  • Python电能质量扰动信号分类(六)基于扰动信号特征提取的超强机器学习识别模型
  • VIM的使用总结
  • (c++)内存四区:1.代码区2.全局区(静态区)3.栈区4.堆区
  • 日常工作技术点总结
  • 关于uniapp wifi调用走过的坑
  • 应用层协议 --- HTTP
  • 将Docker镜像推送到阿里云仓库,使用Docker-compose将mysql、redis、jar包整合在一起
  • spring如何解决循环依赖
  • NAND Flash虚拟层垃圾回收机制
  • 【微信小程序前端开发】入门Day01 —— 小程序页面组成、组件使用及协同开发发布指南
  • 深度探索与实战编码:利用Python与AWS签名机制高效接入亚马逊Product Advertising API获取商品详情
  • Web端云剪辑解决方案,提供前端产品源码