问题描述:
Child中暴露了一个数据count,并通过插槽添加到Parent,我想在Parent中通过useSlots获取到Child组件,然后再获取count,但是这里获取到的是VNode类型的,无法获取到count,请问如何解决?或者是否有其他解决方法?
Child组件:
<template>
<div class="child">{{ count }}</div>
</template>
<script lang='ts' setup>
import { ref } from 'vue'
const count = ref(1)
defineExpose({
count
})
</script>
Parent组件:
<template>
<div class="parent">
<slot></slot>
</div>
</template>
<script lang='ts' setup>
import { useSlots, onMounted, VNode } from 'vue'
const slots = useSlots()
onMounted(() => {
if (slots && slots.default) {
slots.default().forEach((vn: VNode) => {
// 这里如何获取插槽中Child组件的expose?
})
}
})
</script>