vue3 emitter 使用
时间: 2023-06-21 22:11:09 浏览: 105
vue3路由使用,vue3路由使用
在 Vue3 中,可以使用 `mitt` 库来实现事件的监听和触发。`mitt` 是一个小巧、快速、灵活的事件发射器库,可以用于浏览器和 Node.js 环境中。
以下是使用 `mitt` 实现事件监听和触发的示例:
1. 安装 `mitt` 库
```shell
npm install mitt
```
2. 在 Vue3 组件中引入 `mitt`
```javascript
import mitt from 'mitt';
const emitter = mitt();
```
3. 在组件中监听事件
```javascript
// 监听名为 'event-name' 的事件
emitter.on('event-name', (data) => {
console.log(data);
});
```
4. 在组件中触发事件
```javascript
// 触发名为 'event-name' 的事件,并传递数据
emitter.emit('event-name', { key: 'value' });
```
以上代码中,我们使用 `mitt` 创建了一个事件发射器 `emitter`。在组件中,我们可以使用 `emitter.on()` 方法来监听事件,使用 `emitter.emit()` 方法来触发事件并传递数据。
当事件被触发时,监听该事件的回调函数将会被执行。在上面的示例中,我们在回调函数中打印了传递的数据。
除了 `on()` 和 `emit()` 方法之外,`mitt` 还提供了其他一些方法,例如 `off()` 方法可以用于取消事件监听,`all()` 方法可以用于监听所有事件。可以查看 `mitt` 的文档来了解更多信息。
阅读全文