title: Event mechanism

Taro provides Taro.Events to implement the event mechanism, which needs to be instantiated for use, as follows:

  1. import Taro, { Events } from '@tarojs/taro'
  2. const events = new Events()
  3. // Listening for an event, accepting parameters
  4. events.on('eventName', (arg) => {
  5. // doSth
  6. })
  7. // Listening to the same event and binding multiple handlers at the same time
  8. events.on('eventName', handler1)
  9. events.on('eventName', handler2)
  10. events.on('eventName', handler3)
  11. // Trigger an event, pass the reference
  12. events.trigger('eventName', arg)
  13. // Trigger an event, pass in multiple parameters
  14. events.trigger('eventName', arg1, arg2, ...)
  15. // Unlisten to an event
  16. events.off('eventName')
  17. // Cancel a handler that listens to an event
  18. events.off('eventName', handler1)
  19. // Unlisten to all events
  20. events.off()

Taro also implements the global message centre (Taro.eventCenter), which is an instance of Taro.Events.

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