v-show和v-if的区别

v-show 和 v-if 的区别

v-show

v-show 通过 CSS 的 display 属性控制元素的显示与隐藏。无论条件是否成立,元素始终会被渲染到 DOM 中,只是通过 display: none 隐藏。适合频繁切换显示状态的场景,因为不会触发组件的销毁与重建。

v-if

v-if 是真正的条件渲染,会根据条件动态添加或移除 DOM 元素。当条件为 false 时,元素不会被渲染到 DOM 中。适合条件变化较少的场景,因为每次切换都会触发组件的销毁与重建,可能带来更高的性能开销。

主要区别

  • 渲染机制: v-show 总是渲染,v-if 按需渲染。
  • 初始加载: v-show 初始渲染开销较高(即使隐藏也会渲染),v-if 初始渲染开销较低(条件为 false 时不渲染)。
  • 切换性能: v-show 切换时性能更好(仅修改 CSS),v-if 切换时性能较差(涉及 DOM 操作)。
  • 适用场景: v-show 适合频繁切换,v-if 适合条件不频繁变化或需要减少初始负载的场景。

示例代码

html 复制代码
<!-- v-show 示例 -->
<div v-show="isVisible">v-show 控制的内容</div>

<!-- v-if 示例 -->
<div v-if="isVisible">v-if 控制的内容</div>

总结

选择 v-show 还是 v-if 取决于具体需求:频繁切换用 v-show,条件稳定或需要优化初始加载用 v-if。

相关推荐
脾气有点小暴6 小时前
ECharts 伪 3D 柱状图完整注释 + 实现原理说明
前端·3d·信息可视化·vue·echarts
勇往直前plus1 天前
Vue3(篇四)单页面应用到路由管理
javascript·typescript·前端框架·vue
勇往直前plus1 天前
Vue3(篇三) Element Plus
前端·javascript·typescript·vue
shawxlee3 天前
vue3+axios挑战最简洁实用的配置封装+接口调用:请求拦截器、响应拦截器、通用请求方法(单个请求/并发请求/下载文件)、统一接口管理
前端·经验分享·vue·接口·axios·api
RuoyiOffice5 天前
超级个体接私活必看:后端+前端+移动端三端一体企业管理系统怎么选(2026)
java·spring boot·vue·uniapp·全栈·企业管理·接私活
狗凯之家源码网5 天前
机车圈系统核心功能与实战效果展示
vue·node
无巧不成书02186 天前
Vue+Vue-CLI全平台零基础搭建教程
前端·javascript·vue.js·vue·前端开发·vue-cli·前端环境搭建
-Camellia007-7 天前
用 Vue3 + Vite + Pinia 写一个极简的“个人任务看板”(数据存本地 LocalStorage)
vue
shawxlee7 天前
vue3在public下封装config.js自定义配置动态数据,可在打包后直接修改,方便后端部署及后续维护
前端·javascript·经验分享·vue·团队开发·js·项目优化
jieyucx7 天前
Nuxt4阶段六:工程化与进阶 —— 模块、中间件、插件、TS 与测试
中间件·vue·web·nuxt·全栈·ssr