Как удалить addEventListener?

В Vue.js для удаления addEventListener можно использовать два подхода:

1. Использование директивы v-on:
Вы можете добавить addEventListener к элементу с помощью директивы v-on (или сокращенной версии @), а затем удалить его, удалив соответствующий обработчик события.

Пример:

<template>
  <button v-on:click="toggleEventListener">Добавить / Удалить Event Listener</button>
</template>

<script>
export default {
  data() {
    return {
      eventListenerAdded: false
    };
  },
  methods: {
    toggleEventListener() {
      if (this.eventListenerAdded) {
        document.removeEventListener('click', this.handleClick);
      } else {
        document.addEventListener('click', this.handleClick);
      }
      this.eventListenerAdded = !this.eventListenerAdded;
    },
    handleClick(event) {
      console.log('Событие клика:', event);
    }
  }
};
</script>

В этом примере при нажатии на кнопку вызывается метод toggleEventListener, который проверяет, добавлен ли уже обработчик события, и в зависимости от этого либо добавляет его с помощью addEventListener, либо удаляет его с помощью removeEventListener. Метод handleClick выполняется при событии клика, и в нем можно выполнить нужные вам действия.

2. Использование директивы v-if:
Еще один способ удалить addEventListener в Vue.js - использовать директиву v-if, чтобы условно добавлять или удалять элемент на основе значения свойства.

Пример:

<template>
  <div>
    <button v-if="eventListenerAdded" v-on:click="removeEventListener">
      Remove Event Listener
    </button>
    <button v-else v-on:click="addEventListener">
      Add Event Listener
    </button>
  </div>
</template>

<script>
export default {
  data() {
    return {
      eventListenerAdded: false
    };
  },
  methods: {
    addEventListener() {
      document.addEventListener('click', this.handleClick);
      this.eventListenerAdded = true;
    },
    removeEventListener() {
      document.removeEventListener('click', this.handleClick);
      this.eventListenerAdded = false;
    },
    handleClick(event) {
      console.log('Событие клика:', event);
    }
  }
};
</script>

В этом примере, используя свойство eventListenerAdded, мы обновляем отображение кнопок на основе того, был ли добавлен обработчик события. Когда пользователь нажимает кнопку, вызывается соответствующий метод (addEventListener или removeEventListener), и обработчик события добавляется или удаляется, а значение eventListenerAdded соответствующим образом обновляется.