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

    1. import Taro, { Events } from '@tarojs/taro'
    2. const events = new Events()
    3. // 监听一个事件,接受参数
    4. events.on('eventName', (arg) => {
    5. // doSth
    6. })
    7. // 监听同个事件,同时绑定多个 handler
    8. events.on('eventName', handler1)
    9. events.on('eventName', handler2)
    10. events.on('eventName', handler3)
    11. // 触发一个事件,传参
    12. events.trigger('eventName', arg)
    13. // 触发事件,传入多个参数
    14. events.trigger('eventName', arg1, arg2, ...)
    15. // 取消监听一个事件
    16. events.off('eventName')
    17. // 取消监听一个事件某个 handler
    18. events.off('eventName', handler1)
    19. // 取消监听所有事件
    20. events.off()

    同时 Taro 还提供了一个全局消息中心 Taro.eventCenter 以供使用,它是 Taro.Events 的实例

    1. import Taro from '@tarojs/taro'
    2. Taro.eventCenter.on
    3. Taro.eventCenter.trigger
    4. Taro.eventCenter.off