vue3 子组件监听父组件事件触发
时间: 2023-08-02 13:07:13 浏览: 161
vue 父组件调用子组件方法及事件
5星 · 资源好评率100%
在 Vue 3 中,子组件可以通过 `emits` 选项来监听父组件触发的事件。以下是具体的步骤:
1. 在父组件中,使用 `emits` 选项来声明可能触发的事件。例如,假设你的父组件触发了一个名为 `my-event` 的事件:
```javascript
export default {
emits: ['my-event'],
// ...
}
```
2. 在子组件中,使用 `v-on` 或 `@` 符号来监听父组件触发的事件,并在方法中处理该事件。例如,你可以在子组件中添加以下代码:
```html
<template>
<div>
<button @click="triggerEvent">触发事件</button>
</div>
</template>
<script>
export default {
methods: {
triggerEvent() {
this.$emit('my-event', '传递的数据');
}
}
}
</script>
```
3. 在父组件中,使用子组件的标签,并通过 `v-on` 或 `@` 符号来监听子组件触发的事件。例如:
```html
<template>
<div>
<child-component @my-event="handleEvent"></child-component>
</div>
</template>
<script>
export default {
methods: {
handleEvent(data) {
console.log('触发了子组件的事件,传递的数据为:', data);
}
}
}
</script>
```
这样,当子组件中的按钮被点击时,会触发 `my-event` 事件,并将数据传递给父组件的 `handleEvent` 方法进行处理。
阅读全文