消息机制

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