子组件如何调用父组件的方法vue3
时间: 2023-10-13 22:26:08 浏览: 45
在 Vue 3 中,子组件可以通过 `$emit` 方法触发父组件中的方法。下面是一个简单的示例:
父组件:
```vue
<template>
<div>
<ChildComponent @custom-event="handleCustomEvent" />
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue';
export default {
components: {
ChildComponent,
},
methods: {
handleCustomEvent() {
// 在这里处理子组件触发的事件
console.log('Custom event triggered from child component');
},
},
};
</script>
```
子组件:
```vue
<template>
<button @click="triggerCustomEvent">触发自定义事件</button>
</template>
<script>
export default {
methods: {
triggerCustomEvent() {
// 触发自定义事件,并将参数传递给父组件
this.$emit('custom-event');
},
},
};
</script>
```
在上面的示例中,父组件中注册了 `ChildComponent`,并监听了一个名为 `custom-event` 的事件。子组件中的按钮点击事件触发了 `triggerCustomEvent` 方法,该方法通过 `$emit` 触发了 `custom-event` 事件,并将参数传递给父组件。父组件中的 `handleCustomEvent` 方法会被调用,并执行相应的逻辑。
注意:在 Vue 3 中,使用 `v-on` 指令来监听事件的写法已经改为 `@` 符号。