vue3 父组件中调用子组件函数的方法
时间: 2023-11-19 16:52:35 浏览: 138
vue 父组件中调用子组件函数的方法
5星 · 资源好评率100%
在Vue3中,可以通过使用`ref`来获取子组件实例,然后调用子组件的方法。具体步骤如下:
1. 在子组件中使用`defineExpose`暴露需要调用的方法,例如:
```
// 子组件代码
<script>
import { defineComponent, defineExpose } from 'vue'
export default defineComponent({
methods: {
childMethod() {
console.log('子组件方法被调用')
}
},
setup() {
defineExpose({
childMethod: this.childMethod
})
}
})
</script>
```
2. 在父组件中使用`ref`获取子组件实例,并调用子组件的方法,例如:
```
// 父组件代码
<template>
<div>
<child-component ref="childRef"></child-component>
<button @click="callChildMethod">调用子组件方法</button>
</div>
</template>
<script>
import { ref } from 'vue'
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
setup() {
const childRef = ref(null)
const callChildMethod = () => {
childRef.value.childMethod()
}
return {
childRef,
callChildMethod
}
}
}
</script>
```
在上述代码中,我们使用`ref`获取了子组件实例,并将其赋值给`childRef`。然后在`callChildMethod`方法中,我们通过`childRef.value`获取子组件实例,并调用其暴露的`childMethod`方法。
阅读全文