Vue3 父组件调用子组件的方法

8,931 阅读1分钟

Vue3 父组件调用子组件的方法

父组件

// 父组件

<template>
    <div>     父页面
        <son-com ref="sonRef"/>
        <button @click="handleClick">test</button>
    </div>
</template>

<script>
import {
  defineComponent,
  ref,
} from 'vue';

export default defineComponent({
    setup(){
    const sonRef = ref(null);
      const handleClick = () => {
         sonRef.value.song();
      }
  return { sonRef, handleClick, }   
  } 
}) 
</script>

子组件

// 子组件
<template>
   <div>
        子页面
    </div>
</template>

<script>
import {
  defineComponent
} from 'vue';

export default defineComponent({
    setup(){    
        const song = () => alert('hello world');
        return {       
            song, // 别忘记 return     
        }   
    }
}) 
</script>

 如果是TS定义可以使用

const sonRef = ref<null | HTMLElement>(null);

vue2调用子组件方法

vue2调用子组件方法