vue3子组件调用父组件方法
时间: 2023-08-21 07:03:04 浏览: 146
在Vue 3中,子组件可以通过使用 `this.$emit` 方法来调用父组件的方法。下面是一个简单的示例代码:
在父组件中:
```vue
<template>
<div>
<ChildComponent @childMethod="parentMethod" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
methods: {
parentMethod() {
// 父组件的方法逻辑
},
},
};
</script>
```
在子组件中:
```vue
<template>
<div>
<button @click="childButtonClick">调用父组件方法</button>
</div>
</template>
<script>
export default {
methods: {
childButtonClick() {
this.$emit('childMethod');
},
},
};
</script>
```
在子组件中,当按钮被点击时,通过 `this.$emit('childMethod')` 触发了名为 `childMethod` 的自定义事件,并将其传递给了父组件。父组件通过 `@childMethod="parentMethod"` 监听到该事件,并执行了名为 `parentMethod` 的方法。
这样,子组件就成功调用了父组件的方法。
阅读全文