1.在vue3中不使用setup语法糖的情况下,父组件可以通过ref拿到子组件实例,进而使用子组件内部方法;
2.但是如果在vue3中使用 <script setup> 语法糖的组件是默认关闭的,也即通过模板 ref 或者 $parent 链获取到的组件的公开实例,不会暴露任何在 <script setup> 中声明的绑定。
3.为了在 <script setup> 语法糖组件中明确要暴露出去的属性,使用 defineExpose 编译器宏将需要暴露出去的变量与方法放入暴露出去就可以(子组件使用defineExpose 暴露示例)
//在script setup中写,将子组件变量或者方法暴露出去
defineExpose({
demo,
handleVal,
})