v-show与v-if
共同点
v-show与v-if的用法基本一致,都是控制元素的可见性
不同点
v-show
v-show是改变元素的CSS属性display,当v-show表达式设为false时,元素会隐藏,查看DOM结构会看到元素上加载了内联样式 display:none
v-show 不能在上使用
v-if
v-if才是真正的条件渲染,会根据表达式适当地销毁或重建元素及绑定的事件或子组件
若表达式初始值为false,则一开始元素/组件并不会渲染,只有当条件第一次变为true时才开始编译
根据业务场景进行选择
v-show是简单的CSS属性切换,无论条件真与否,都会被比编译,相比之下,v-if更适合不经常改变的场景,因为它切换开销相对较大,v-show更使用于频繁切换的条件。