vue3父组件调用子组件中的方法
时间: 2024-05-18 11:09:50 浏览: 118
在 Vue3 中,可以通过 `ref` 和 `setup` 来实现父组件调用子组件中的方法。
首先,在子组件中,我们需要使用 `ref` 创建一个引用,然后将需要被父组件调用的方法挂载到该引用上。具体示例如下:
```
<template>
<div>
<button @click="increment">点击增加</button>
</div>
</template>
<script>
import { ref } from 'vue';
export default {
setup() {
const count = ref(0);
const increment = () => {
count.value++;
};
return {
count,
increment,
};
},
};
</script>
```
然后,在父组件中,我们需要使用 `ref` 创建一个引用,并在子组件标签中添加 `ref` 属性,并将该引用传递给它。这样,在父组件中就可以通过该引用来访问子组件中的方法。具体示例如下:
```
<template>
<div>
<ChildComponent ref="child" />
<button @click="handleClick">在父组件中调用子组件的方法</button>
</div>
</template>
<script>
import { ref } from 'vue';
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
setup() {
const child = ref(null);
const handleClick = () => {
child.value.increment();
};
return {
child,
handleClick,
};
},
};
</script>
```
需要注意的是,在 Vue3 中,我们需要使用 `setup` 来定义组件选项。同时,由于 `setup` 是在组件实例化之前执行的,所以我们需要使用 `ref` 来创建响应式数据。
阅读全文