Методы добавления двух событий в Vue.js: встроенные обработчики событий, прослушиватели событий и шина событий Vue

Чтобы добавить два события в Vue.js, вы можете использовать несколько методов. Вот несколько часто используемых подходов:

  1. Метод 1: встроенные обработчики событий
    В шаблоне Vue вы можете напрямую добавлять обработчики событий с помощью директивы v-on. Например:

    <button v-on:click="handleEvent1">Event 1</button>
    <button v-on:click="handleEvent2">Event 2</button>

    В вашем компоненте Vue определите соответствующие методы handleEvent1и handleEvent2:

    methods: {
     handleEvent1() {
       // Event 1 logic here
     },
     handleEvent2() {
       // Event 2 logic here
     },
    }
  2. Метод 2: прослушиватели событий
    Другой подход — использовать прослушиватели событий непосредственно в коде JavaScript. В своем шаблоне добавьте уникальный идентификатор к элементам, к которым вы хотите прикрепить события:

    <button id="event1">Event 1</button>
    <button id="event2">Event 2</button>

    В вашем компоненте Vue используйте document.getElementByIdили любой другой метод манипуляции DOM для подключения прослушивателей событий:

    mounted() {
     const event1Button = document.getElementById('event1');
     const event2Button = document.getElementById('event2');
     event1Button.addEventListener('click', this.handleEvent1);
     event2Button.addEventListener('click', this.handleEvent2);
    },
    methods: {
     handleEvent1() {
       // Event 1 logic here
     },
     handleEvent2() {
       // Event 2 logic here
     },
    }
  3. Метод 3: шина событий Vue
    Вы также можете использовать шину событий Vue для связи между компонентами. Сначала создайте экземпляр глобальной шины событий:

    const eventBus = new Vue();

    В отправляющем компоненте создайте событие:

    methods: {
     sendEvent1() {
       eventBus.$emit('event1');
     },
     sendEvent2() {
       eventBus.$emit('event2');
     },
    }

    В принимающем компоненте прослушивайте события:

    mounted() {
     eventBus.$on('event1', this.handleEvent1);
     eventBus.$on('event2', this.handleEvent2);
    },
    methods: {
     handleEvent1() {
       // Event 1 logic here
     },
     handleEvent2() {
       // Event 2 logic here
     },
    }

Это всего лишь несколько способов добавления событий в Vue.js. Вы можете выбрать тот, который соответствует вашему конкретному случаю использования.