vue3 子组件调用父组件中的方法
时间: 2023-10-13 16:04:45 浏览: 102
在 Vue 3 中,你可以通过使用 `emits` 和 `$emit` 来实现子组件调用父组件中的方法。
首先,在父组件中定义一个方法,并在子组件中触发该方法。例如,假设父组件中有一个名为 `parentMethod` 的方法:
```vue
<template>
<div>
<child-component @child-event="parentMethod"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent
},
methods: {
parentMethod() {
console.log('Parent method called');
}
}
}
</script>
```
在子组件中,你可以通过 `$emit` 方法触发一个自定义事件,并将父组件的方法作为参数传递:
```vue
<template>
<button @click="triggerEvent">Trigger Event</button>
</template>
<script>
export default {
methods: {
triggerEvent() {
this.$emit('child-event');
}
}
}
</script>
```
当子组件的按钮被点击时,`child-event` 事件将被触发,并且父组件中的 `parentMethod` 方法将被调用。
这样,你就可以实现子组件调用父组件中的方法了。
阅读全文