在Vue 3中,可以使用`defineEmits`函数来定义组件的事件。`defineEmits`函数接受一个对象作为参数,该对象的键是事件名,值是一个回调函数或一个函数数组。这些回调函数将被组件中的`$emit`方法触发。
以下是一个示例:
javascript
import { defineComponent, defineEmits } from 'vue';
const MyComponent = defineComponent({
emits: defineEmits(['myEvent']),
methods: {
handleClick() {
this.$emit('myEvent', 'hello');
}
},
template: `
<button @click="handleClick">Click me</button>
`
});
export default MyComponent;
在上面的示例中,我们使用`defineEmits`函数定义了一个名为`myEvent`的事件。然后,在组件的方法中,我们使用`$emit`方法触发了`myEvent`事件,并传递了一个字符串参数。
通过使用`defineEmits`函数,我们可以明确地列出组件支持的事件,并提供类型推断和文档化的好处。