Как я могу во vuex передать объект события через `dispatch`?

Если передавать, например, через стрелочную функцию, то всё работает, но тогда я не могу удалить слушателя через removeEventListener.

export const actions = {
  open() {
    document.querySelector('nav').classList.add('open')
    document.addEventListener('click', (e) => this.dispatch('clickListener', e))
  },
  close() {
    document.querySelector('nav').classList.remove('open')
    document.removeEventListener('click', (e) => this.dispatch('clickListener', e))
  },
  toggle() {
    if (document.querySelector('nav').classList.contains('open')) {
      this.dispatch('close')
    } else {
      this.dispatch('open')
    }
  },
  clickListener(ctx, e) {
    console.log(e);
  },
}

Ответы (0 шт):