triggerEvent.ts 481 B

12345678910111213141516171819202122
  1. import { isArray } from '@vue/shared'
  2. import { TestElement } from './nodeOps'
  3. export function triggerEvent(
  4. el: TestElement,
  5. event: string,
  6. payload: any[] = []
  7. ) {
  8. const { eventListeners } = el
  9. if (eventListeners) {
  10. const listener = eventListeners[event]
  11. if (listener) {
  12. if (isArray(listener)) {
  13. for (let i = 0; i < listener.length; i++) {
  14. listener[i](...payload)
  15. }
  16. } else {
  17. listener(...payload)
  18. }
  19. }
  20. }
  21. }