• vue3中使用ref调用子组件属性与方法


    话不多说:vue3父组件调用子组件内部属性和方法示例

     父组件中:

    1.setup语法糖中导入子组件

    2.在子组件标签上绑定ref值

    3.setup内部从vue中按需导出 getCurrentInstance 方法

    4.调用getCurrentInstance方法导出proxy

    5.通过proxy.$refs.子组件ref名.子组件内属性/方法 实现调用

    1. <script setup lang="ts" name="Father">
    2. import { getCurrentInstance, ComponetInternalInstance,ref } from "vue";
    3. import Child from "./zi.vue";
    4. const child = ref(null)
    5. // as ComponetInternalInstance表示类型断言,ts时使用。否则报错,proxy为null
    6. const { proxy } = getCurrentInstance() as ComponetInternalInstance;
    7. function changeChildren() {
    8. proxy.$refs.child.count += 1;
    9. //也可以使用ref数据.value的形式调用:
    10. //child.value.count += 1
    11. console.log(child.value.name)
    12. }
    13. script>
    14. <style scoped>style>

    子组件中:

    1.js内需要通过defineExpose导出父组件需要使用的属性和方法即可

    因为使用