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

Как добавить/удалить класс по клику на элемент (Vue)?

Здравствуйте, не в доке, не на просторах интернета не могу найти как в Vue по клику на элемент добавить/снять класс конкретно у этого элемента? У меня есть 5 элементов например, я хочу, чтобы по клику на один, ему добавился класс 'active' и по повторному клику убрался.
Я пытаюсь сделать это через :class и обычный метод, который меняет true/false (как в доке), но у меня добавляются/удаляются на всех элементах сразу. Должен же быть какой-то просто аналог $(this).add/removeClass('active').
  • Вопрос задан
  • 3311 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
delphinpro
@delphinpro
frontend developer
Должен же быть какой-то просто аналог $(this).add/removeClass('active').


Есть доступ к html элементу:
this.el.classList.add('active')
this.el.classList.remove('active')


Но это вообще неверный подход.

Отображение во вью должно быть основано на данных.

Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
<div class = "name active" ref = "needed" @click = "$refs.needed.classList.toggle('active')">
</div>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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