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调用子组件方法