useEventEmitter

在多个组件之间进行事件通知有时会很繁琐,借助 EventEmitter ,可以让这一过程变得更加简单。 在组件中调用 useEventEmitter 可以获得一个 EventEmitter 的实例:

// 组件多次渲染时,并不会重复创建实例
const $eventEmitter = useEventEmitter()

通过 props 或者 Context ,可以将 $eventEmitter 共享给其他组件。然后在其他组件中, 可以调用 EventEmitter 的 emit 方法,推送一个事件,或是调用 $on/$once 方法,订阅事件。 或是调用 $off 方法,取消订阅事件。

$on会在组件销毁时,取消订阅

代码演示

基础用法


$on input value:
$once input value:

Result

参数说明类型默认
$emit推送一个事件通知functionfunction (method, arg) {}
$on订阅一个事件通知functionfunction (method, val) {}
$once订阅一次事件通知functionfunction (method, val) {}
$off取消订阅事件通知functionfunction (method) {}