vue2转vue3,vue2中可以使用refs.组件ref.函数名
来调用子组件的函数,但在vue3中使用const 组件ref = ref(null);组件ref.value.函数名
,结果报错说没有这个函数,去查看vue2迁移文档没有发现有说明,折腾了很久,变着法地问chatgpt,终于找到了。。。。
vue3文档里其实有:https://cn.vuejs.org/guide/essentials/template-refs.html#accessing-the-refs
简单来说就是要在子组件里使用defineExpose
将要使用的方法或变量暴露出来:
<script setup>
const aa = ref('1')
const fun = () => {}
defineExpose({
aa,
fun
})
</script>
吃了没仔细看文档的亏,不过vue2迁移文档里好像没有写这个。。