vue3 emitter 使用
时间: 2023-06-21 16:11:36 浏览: 282
vue3路由使用,vue3路由使用
Vue3 的 emitter 与 Vue2 的 $emit 有些不同,Vue3 的 emitter 是通过 `mitt` 库实现的,可以先使用 `npm install mitt` 安装。
使用 emitter 需要先创建一个实例,可以在组件中通过 `setup()` 函数中的 `const emitter = mitt()` 创建一个实例,也可以在全局中创建一个实例。
在组件中使用 emitter 可以通过 `emitter.emit(eventName, ...args)` 触发事件,通过 `emitter.on(eventName, handler)` 监听事件。
示例代码如下:
```javascript
// 引入mitt库
import mitt from 'mitt'
// 全局创建实例
const emitter = mitt()
// 组件中使用
export default {
setup() {
// 监听事件
emitter.on('custom-event', (arg1, arg2) => {
console.log(arg1, arg2)
})
// 触发事件
emitter.emit('custom-event', 'hello', 'world')
}
}
```
注意:在 Vue3 中,`$emit` 已经被移除,使用 `emitter` 可以达到相同的效果。
阅读全文