vue3 emit怎么用
时间: 2023-07-24 19:07:45 浏览: 228
关于vue中 $emit的用法详解
5星 · 资源好评率100%
在 Vue 3 中,使用 `emit` 发送自定义事件与 Vue 2 中有些不同。
首先,需要在组件中使用 `defineEmits` 函数来声明可以发送的事件名称。
```javascript
import { defineComponent } from 'vue'
export default defineComponent({
emits: ['eventName'],
// ...
})
```
在上面的例子中,声明了一个名为 `eventName` 的事件可以被发送。
然后,可以在组件中使用 `$emit` 方法来发送自定义事件。
```javascript
export default defineComponent({
emits: ['eventName'],
methods: {
handleClick() {
this.$emit('eventName', 'event data')
}
}
})
```
在上面的例子中,当 `handleClick` 方法被调用时,会发送名为 `eventName` 的事件,并传递字符串 `'event data'`。
父组件可以通过在子组件上添加 `v-on` 指令来监听自定义事件。
```html
<ChildComponent @eventName="handleEvent"></ChildComponent>
```
在上面的例子中,当子组件发送名为 `eventName` 的事件时,会触发父组件中名为 `handleEvent` 的方法,并传递事件数据作为参数。
希望这能帮助你理解 Vue 3 中 `emit` 的用法。
阅读全文