Задать вопрос

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

На обработчике родительского компонента стоит модификатор .native, на дочернем - .stop. При клике на дочернем компоненте всё равно срабатывает обработчик родительского, как исправить?
  • Вопрос задан
  • 324 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • HTML Academy
    Vue.js 3 — разработка клиентских приложений
    1 месяц
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • Stepik
    Frontend разработчик на HTML, CSS и JavaScript
    4 месяца
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Попробуйте @click="e => e.stopImmediatePropagation()" в дочернем компоненте.

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

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

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

Похожие вопросы