全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-20 6 分钟 ✍️ juanwangdev

v-if条件渲染

v-if 用于根据条件渲染内容,条件为假时元素完全销毁。

基本用法

HTML
<h1 v-if="isVisible">标题</h1>

v-else-if 和 v-else

HTML
<div v-if="type === 'A'">A类型</div>
<div v-else-if="type === 'B'">B类型</div>
<div v-else>其他类型</div>

v-elsev-else-if 必须紧跟在 v-ifv-else-if 元素后面。

template 上使用

HTML
<template v-if="ok">
  <h1>标题</h1>
  <p>段落1</p>
  <p>段落2</p>
</template>

使用 <template> 可包裹多个元素而不产生额外包裹元素。

v-if 与 v-show 对比

特性v-ifv-show
渲染方式条件为真时才渲染始终渲染,仅切换 CSS display
切换开销较大(销毁/重建)较小(仅 CSS 切换)
初始渲染开销较小(可能不渲染)较大(始终渲染)
适用场景条件很少改变频繁切换

要点总结

  • v-if 是真正的条件渲染,条件为假时元素完全销毁
  • 支持 v-else-ifv-else 链式分支
  • 可在 <template> 上使用以包裹多个元素
  • 频繁切换用 v-show,条件少改变用 v-if
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 v-on事件绑定
下一篇 → v-for列表渲染
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码