useEventEmitter
在多个组件之间进行事件通知有时会很繁琐,借助 EventEmitter ,可以让这一过程变得更加简单。 在组件中调用 useEventEmitter 可以获得一个 EventEmitter 的实例:
// 组件多次渲染时,并不会重复创建实例
const $eventEmitter = useEventEmitter()
通过 props 或者 Context ,可以将 $eventEmitter 共享给其他组件。然后在其他组件中, 可以调用 EventEmitter 的 emit 方法,推送一个事件,或是调用 $on/$once 方法,订阅事件。 或是调用 $off 方法,取消订阅事件。
$on会在组件销毁时,取消订阅
代码演示
基础用法
$on input value:
$once input value:
基础用法
Result
参数 | 说明 | 类型 | 默认 |
---|---|---|---|
$emit | 推送一个事件通知 | function | function (method, arg) {} |
$on | 订阅一个事件通知 | function | function (method, val) {} |
$once | 订阅一次事件通知 | function | function (method, val) {} |
$off | 取消订阅事件通知 | function | function (method) {} |