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

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

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

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

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

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

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