@tuoyuan/vue-event-bus
v1.0.1
Published
事件总线
Downloads
3
Readme
event-bus 事件总线
本项目提供统一事件总线调用方法。
一、接入步骤
- 入口文件
src/main.js
注册插件;
// 1. 引入js文件
import * as EventBus from 'event-bus';
const app = createApp(App);
// 2. 注册插件
app.use(EventBus);
- 使用
bus
// vue中使用,useEventBus内置了组件销毁时取消监听逻辑
import { useEventBus } from 'event-bus';
const bus = useEventBus();
// js中使用
import { bus } from 'event-bus';
二、方法说明
1.监听事件($on
)
- 参数说明
| 属性 | 类型 | 是否必须 | 说明 | | -------- | ---------------- | -------- | -------- | | name | string | true | 事件名称 | | callback | EventBusCallback | true | 回调方法 |
- 示例
bus.$on('name', console.log);
2.仅监听一次事件($once
)
- 参数说明
| 属性 | 类型 | 是否必须 | 说明 | | -------- | ---------------- | -------- | -------- | | name | string | true | 事件名称 | | callback | EventBusCallback | true | 回调方法 |
- 示例
bus.$once('name', console.log);
3.取消监听事件($off
)
- 参数说明
| 属性 | 类型 | 是否必须 | 说明 | | -------- | ---------------- | -------- | ---------------------------------------------- | | name | string | true | 事件名称 | | callback | EventBusCallback | false | 回调方法,不传值时取消所有监听此事件的回调方法 |
- 示例
bus.$off('name', console.log);
4.发送事件($emit
)
- 参数说明
| 属性 | 类型 | 是否必须 | 说明 | | ------- | ------------ | -------- | -------- | | name | string | true | 事件名称 | | payload | EventPayload | false | 携带数据 |
- 示例
bus.$emit('name', '业务数据');