Ответ
v-if и v-show управляют видимостью элементов, но работают по-разному:
v-if:
- Полностью удаляет/добавляет элемент из DOM
- Ленивый: элементы внутри не рендерятся, пока условие не станет true
- Подходит для редко меняющихся условий
v-show:
- Всегда рендерит элемент в DOM, просто переключает
display: none - Подходит для частых переключений (лучше для производительности)
- Не поддерживает
<template>иv-else
- Всегда рендерит элемент в DOM, просто переключает
Пример:
<div v-if="isVisible">Удалится из DOM</div>
<div v-show="isVisible">Спрячется через CSS</div>Выбор зависит от частоты переключений и важности начального рендеринга.