Skip to content

v-show与v-if

更新: 2025/12/6 字数: 0 字 时长: 0 分钟

相同点

在不含v-else的情况下两者的作用效果相同,都能控制元素在页面上是否显示

用法也一致,根据判断true或者false来决定是否占据页面

vue
<Model v-show="isShow" />
<Model v-if="isShow" />

不同点

控制手段

v-show是给元素样式添加css--display:none,dom元素依旧存在

v-if隐藏的方法是将dom元素整个添加或者删除,开销更大

编译过程

v-if切换有一个局部编译和卸载的过程,切换中合适地销毁或重建内部事件监听和子组件

v-show只是简单的css切换

编译条件

v-if是真正的条件渲染,会执行整个组件的生命周期,只有为假时不做操作,直到为真才渲染(有更高的切换性能消耗)

v-show不会触发组件的生命周期(有更高的初始性能消耗)

本站访客数 人次 本站总访问量