1.Taro 提供了 Taro.Events 来实现消息机制,使用时需要实例化它

import Taro, { Events } from '@tarojs/taro'

const events = new Events()

2.事件监听

// 监听一个事件,接受参数
events.on('eventName', (arg) => {
  // doSth
})

// 监听同个事件,同时绑定多个 handler
events.on('eventName', handler1)
events.on('eventName', handler2)
events.on('eventName', handler3)

3.事件触发

// 触发一个事件,传参
events.trigger('eventName', arg)

// 触发事件,传入多个参数
events.trigger('eventName', arg1, arg2, ...)

4.事件取消

// 取消监听一个事件
events.off('eventName')

// 取消监听一个事件某个 handler
events.off('eventName', handler1)

// 取消监听所有事件
events.off()

5.全局消息中心 Taro.eventCenter,是 Taro.Events 的实例

import Taro from '@tarojs/taro'

Taro.eventCenter.on
Taro.eventCenter.trigger
Taro.eventCenter.off