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

《Vue3 踩坑》expose 和 defineExpose 暴露属性或方法注意事项

选项式写法

使用 选项式API - 状态选项 - expose 一定要注意:

在这里插入图片描述

接下来,进一步看示例说明:

设置 expose

  • 仅显示列出的属性/方法才能被父组件调用;
  • 代码第 2 行,父组件可访问属性 a 和 方法 myFunc01,不可访问属性 b 和 方法 myFunc02
export default {expose: ['a', 'myFunc01'],data() {return {a: 1,b: 2}},methods: {myFunc01(){//...},myFunc02(){//...}}
}
</script>

不设置expose

  • 默认全部属性/方法都可被父组件调用;
  • 父组件可访问 abmyFunc01myFunc02 等全部属性/方法!我就在这里犯错了…
export default {data() {return {a: 1,b: 2}},methods: {myFunc01(){//...},myFunc02(){//...}}
}

组合式写法

设置 defineExpose

  • 组合式写法默认所有属性和方法都是私有的,需要使用 defineExpose 宏显示暴露;
  • 代码 15-18 行,父组件只能调用属性 a 和方法 myFunc01
  • defineExpose 无需引入,在<script setup>中可直接使用;
<script setup>
import { ref } from 'vue'const a = ref(1)
const b = ref(2)function myFunc01(){//...
}function myFunc02(){//...
}defineExpose({a,myFunc01
})
</script>
http://www.lryc.cn/news/463008.html

相关文章:

  • 10.13论文阅读
  • 六西格玛黑带项目:TBX-02无人机飞行稳定性提升——张驰咨询
  • git clone 国内镜像
  • 【服务器虚拟化】
  • 【RAG】aiops第一名方案-EasyRAG:自动网络运营的高效检索增强生成框架
  • 3款备受好评的电脑数据恢复软件,赶紧收藏以备不时之需
  • .net core 实现多线程方式有哪些
  • 《Linux从小白到高手》综合应用篇:深入理解Linux磁盘及IO优化
  • 【Linux】内存文件系统的I/O、重定向
  • 力扣10.18
  • cs木马图形化界面出现问题处理
  • 数据结构与算法 - 树 #数的概念 #二叉树 #堆 - 堆的实现/堆排序/TOP-K问题
  • Git推送被拒
  • Jmeter进行http接口测试
  • 工业相机详解及选型
  • RAID 矩阵
  • 详细分析Redisson分布式锁中的renewExpiration()方法
  • 实验3,网络地址转换
  • Java 中的 String 字符串是不可变的
  • 计算机网络架构实例
  • Chrome与Firefox浏览器HTTP自动跳转HTTPS的解决方案
  • 众数信科荣登“2024 CHINA AIGC 100”榜单
  • 【AI知识】距离度量和相似性度量的常见算法
  • LeetCode1004.最大连续1的个数
  • Parallels Desktop20虚拟机软件能让你在Mac上无缝运行Windows
  • Golang | Leetcode Golang题解之第476题数字的补数
  • Spring 实现 3 种异步流式接口,干掉接口超时烦恼
  • 字节 HLLM 论文阅读
  • Chromium html<iframe>对应c++接口定义
  • Vue详细入门(语法【三】)