Как правильно отменять клик на родительском компоненте при клике на дочерний?

На обработчике родительского компонента стоит модификатор .native, на дочернем - .stop. При клике на дочернем компоненте всё равно срабатывает обработчик родительского, как исправить?
  • Вопрос задан
  • 280 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Попробуйте @click="e => e.stopImmediatePropagation()" в дочернем компоненте.

UPD. В комментариях выяснилось, что компонентов на самом деле три - в дочернем клики происходят тоже по экземпляру компонента.

Чтобы заработал модификатор stop, нужен объект события. Его можно прокидывать из компонента, на экземпляре которого ловите клик, т.е., там на корневом элементе должно быть @click="$emit('click', $event)". Или, добавляем модификатор native: @click.native.stop.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы