vue3中子组件向父组件如何传点击事件
时间: 2023-09-07 11:17:56 浏览: 234
在 Vue3 中,子组件向父组件传递点击事件的方式与 Vue2 中大致相同,需要使用自定义事件。
首先,在子组件中定义一个方法,当子组件被点击时调用该方法并触发自定义事件,例如:
```javascript
<template>
<div @click="handleClick">{{ message }}</div>
</template>
<script>
export default {
data() {
return {
message: 'Hello, world!'
}
},
methods: {
handleClick() {
this.$emit('custom-click')
}
}
}
</script>
```
然后,在父组件中监听该自定义事件,并在触发时执行对应的方法,例如:
```javascript
<template>
<div>
<child-component @custom-click="handleCustomClick"></child-component>
</div>
</template>
<script>
import ChildComponent from './ChildComponent.vue'
export default {
components: {
ChildComponent
},
methods: {
handleCustomClick() {
console.log('Child component clicked!')
}
}
}
</script>
```
在父组件中,我们使用 `@custom-click` 监听自定义事件,并在触发时执行 `handleCustomClick` 方法。
需要注意的是,子组件中通过 `$emit` 触发的自定义事件名称必须以小写字母开头,且不能包含大写字母和连字符。
阅读全文