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

Распространение цикла на соседние блоки Vue.js?

<div v-if="type == 0" v-for="item in items" class="item" key="item">
...
</div>
<div v-else class="cats item" key="cats">
...
</div>


Почему при смене type у меня блоки с ключем "cats" выводятся в цикле, который прописан в первом блоке? И факт в том, что я имею из него доступ к item.
Как сделать, чтобы этот цикл "item" не относился к "cats"?
  • Вопрос задан
  • 101 просмотр
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • HTML Academy
    Vue.js 3 — разработка клиентских приложений
    1 месяц
    Далее
  • Академия Эдюсон
    Frontend-разработчик + ИИ
    9 месяцев
    Далее
  • Stepik
    Frontend разработчик на HTML, CSS и JavaScript
    4 месяца
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега Vue.js
Ну, очевидно, v-for имеет более высокий приоритет, вот и выполняется в обоих случаях.

Что делать? Добавьте элементу с v-for обёртку, в которую и перенесите v-if.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
И поэтому в стайл-гайде рекомендуют избегать использования v-if с v-for.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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