Содержание
Понятие событий Vue.js
Когда в нашем компоненте появляется какой-то интерфейс, например, добавляются какие-то кнопочки, добавляются какие-то элементы форм, какие-то поля, с которыми можно взаимодействовать, возникает необходимость нам каким-то образом отслеживать те события, которые происходят на странице.
Каким образом ведет себя пользователь и в зависимости от его действий выполнять какую-то логику.
Например, частая ситуация - это событие клика по какому-то элементу. Когда пользователь кликает по какому-то элементу, мы должны совершать какие-то действия.
Во Vue есть специальная директива которая позволяет нам подписываться на события, которые произошли с каким-то элементом. Так как это директива, то отслеживание этих самых событий будет происходить внутри нашего шаблона.
Директива Vue для работы с событиями
Для примера я подготовил небольшой шаблон, в котором есть простой элемент кнопки, по которой будет пользователь кликать и counter - число кликов.
<template>
<div>
<p>{{ counter }}</p>
<p><button>Кнопка</button></p>
</div>
</template>
Counter показывает сколько кликов сделал пользователь по кнопке.
Директива, которая отвечает у нас за подписку на какое-то событие, которое будет происходить, с элементом называется v-on.
Т.к. эта директива, мы её прописываем как атрибут для нашего элемента. Далее ставится знак двоеточия и указывается тот тип события который будет применяться. Эти события очень похожи на события JavaScript. И первое событие, которое мы с вами рассмотрим - это событие клика по какому-то элементу: событие click.
В кавычках мы должны прописать какую-то логику, которая должна у нас выполняться. Если мы будем взаимодействовать с уровнем данных, мы с вами можем воспользоваться упрощенной формой записи для этой логики. Нам здесь не нужно использовать конструкций this, т.к. на уровне шаблона для того, чтобы обратиться к нашему уровню данных мы не пишем с вами конструкцию this потому, что это не просто Javascript, а это шаблон и здесь уже в шаблоне есть все необходимые переменные для доступа к уровню данных.
Если мы хотим изменять допустим уровень данных, то мы можем просто обратиться к нему.
<p><button v-on:click="counter = counter + 1">Кнопка</button></p>
При каждом клике по нашей кнопке, значение counter будет увеличиваться на единицу.
Упрощенная форма записи
Если мы с вами в предыдущих видео рассматривали, что изменение уровня данных меняет представление, то существует и обратная реактивная связь, когда меняются данные в представлении меняется, меняются и данные на уровне данных в скрипте.
Мы можем здесь написать упрощенную форму записи.
v-on:click="counter++"
И это точно также будет работать.
Кроме того, для конструкции v-on упрощённая форма записи, которую чаще всего вы и будете будете встречать в компонентах выглядит следующим образом:
<p><button @click="counter++">Кнопка</button></p>
Вот такие вводные несколько слов по поводу событий во Vue.js: как мы можем на них подписаться. В следующих видео мы уже с вами более подробно рассмотрим, как можно работать с этими событиями.
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти