Last updated
Last updated
Очень часто возникает необходимость вызывать event.preventDefault()
или event.stopPropagation()
в обработчике события. Несмотря на то, что это легко сделать внутри метода, лучше сохранять чистоту логики и абстрагироваться от деталей реализации событий DOM.
Для решения этой задачи Vue предоставляет модификаторы событий для v-on
, которые указываются как постфиксы и отделяются точкой:
.stop
.prevent
.capture
.self
.once
.passive
При использовании модификаторов порядок имеет значение, потому что код генерируется в том же порядке. Поэтому v-on:click.prevent.self
будет предотвращать все клики, в то время как v-on:click.self.prevent
будет предотвращать клики только на самом элементе.
В отличие от остальных модификаторов, которые поддерживают только нативные события DOM, модификатор .once
может использоваться и в пользовательских событиях компонентов.
Модификатор .passive
особенно полезен для повышения производительности на мобильных устройствах.
Не нужно использовать вместе .passive
и .prevent
, потому что .prevent
будет проигнорирован и браузер возможно покажет предупреждение.
.passive
сообщает браузеру, что вы не хотите предотвращать поведение по умолчанию для события.
Vue также предоставляет модификатор .passive
, соответствующий опции .