个人随笔
目录
VUE3中defineExpose()方法
2024-03-29 10:48:51

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

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

  1. <script setup>
  2. import { ref } from 'vue'
  3. const a = 1
  4. const b = ref(2)
  5. defineExpose({
  6. a,
  7. b
  8. })
  9. </script>

当父组件通过模板引用的方式获取到当前组件的实例,获取到的实例会像这样{ a: number, b: number }(ref 会和在普通实例中一样被自动解包)

  1. <template>
  2. <ChildComponent ref="childeRef"></ChildComponent>
  3. </template>
  4. const childeRef = ref()
  5. childeRef.value?.a
 21

啊!这个可能是世界上最丑的留言输入框功能~


当然,也是最丑的留言列表

有疑问发邮件到 : suibibk@qq.com 侵权立删
Copyright : 个人随笔   备案号 : 粤ICP备18099399号-2