Vue3.0在使用<script setup>
写法下,通知子组件调用方法。-- useContext
(v3.2开始已弃用)
- 在子组件暴露方法
// sonComp子组件
import { useContext } from "vue"
const sonFn = ()=>{
console.log('子组件方法')
}
// 使用useContext中的暴露
const { expose } = useContext();
// 定义数组把需要导出的函数
const fn = { sonFn }
expose({ fn });
- 父组件通知子组件调用方法
<!-- 父组件中使用子组件 -->
<sonComp ref='sonComp' />
// 获取子组件
const sonComp = ref<any>(null);
const handleSonFn = () => {
eleRef.value?.fn.sonFn();
};
v3.2开始使用defineExpose,更加方便。