v-if Diretiva de Renderização Condicional

Última atualização: 2026-10-22

v-if Diretiva de Renderização Condicional

O v-if renderiza o bloco apenas quando a expressão é verdadeira: quando falsa, o elemento é de fato destruído e removido do DOM; tornando-se verdadeira de novo, é recriado.

GrupoDiretivas
TipoDiretiva
EscopoTemplate
Versão do Vue3.0+
Suporte a SSRSim

📝 Sintaxe

<div v-if="condition">...</div>
<div v-else-if="anotherCondition">...</div>
<div v-else>...</div>

⚙️ Argumentos

expressionQualquer expressão que resulte em verdadeiro/falso (escrita diretamente no template, sem chaves)

Retorno:Diretiva, sem valor de retorno

▶ Exemplo

Edite o código abaixo e veja o resultado ao vivo:

Saída:

The page shows 'Now you see me'. Clicking the button removes the paragraph from the DOM.

💡 Pontos-chave

💡 Dica A troca é cara (destrói/recria DOM): para alternar visibilidade com frequência, o v-show compensa mais.
⚠️ Aviso Nunca coloque v-if e v-for no mesmo elemento: o v-if tem prioridade maior e não consegue acessar a variável do loop; use um template aninhado.
ℹ️ Nota v-else / v-else-if devem vir imediatamente após o elemento v-if, sem nada no meio.
Mais casos em breve.

📚 Tutoriais Relacionados

❓ FAQ

P Qual a diferença entre v-if e v-show?
R O v-if destrói/recria o elemento de verdade (renderização preguiçosa: com condição inicial falsa, nada é renderizado); o v-show sempre renderiza o elemento e apenas alterna o display CSS.
P Por que o elemento some do DevTools quando a condição é falsa?
R Esse é exatamente o comportamento do v-if: o elemento é removido do DOM e destruído, não escondido.
P O v-if pode ser combinado com o v-for?
R Não no mesmo elemento. Coloque o v-if em um <template v-if> externo envolvendo o elemento do v-for.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%