vue3 defineemits 用法
时间: 2023-08-26 09:14:32 浏览: 180
关于vue中 $emit的用法详解
5星 · 资源好评率100%
在Vue 3中,`defineEmits`函数用于定义组件的自定义事件。它接受一个对象作为参数,其中键是事件名称,值是一个函数或一个字符串数组,用于指定事件的参数。这样做可以提供类型检查和自动完成。
下面是`defineEmits`的使用示例:
```javascript
import { defineEmits } from 'vue';
const MyComponent = {
emits: defineEmits(['my-event']), // 定义自定义事件
methods: {
handleClick() {
this.$emit('my-event', 'Hello from MyComponent'); // 触发自定义事件
},
},
template: `
<button @click="handleClick">Click me!</button>
`,
};
```
在上面的示例中,我们通过`defineEmits`定义了一个名为`my-event`的自定义事件。然后,我们在`handleClick`方法中使用`this.$emit`来触发该事件,并传递了一个字符串作为参数。
请注意,Vue 3中的自定义事件需要通过`emits`选项进行显式声明,以便获得类型检查和自动完成的好处。
阅读全文