v-if与v-show的区别?

175 阅读1分钟

相同点:

都是控制元素在页面的显示与隐藏,当表达式都是true的时候都是在页面占位置,为false的时候都是不占位置

不同点:

(1)控制手段不同

v-show通过css属性display:none控制元素隐藏,dom元素依然还在

v-if是通过dom元素整个添加或者删除

(2)编译过程不同

v-if在切换过程中会不断的创建和删除元素

v-show是简单的基于css的切换

(3)编译条件不同

v-if是真正的条件渲染,如果渲染条件是假时,不做操作,只有是真的才操作

v-show不管真假,都会创建和销毁元素

(4)使用场景不同

v-if适用于运行条件很少改变的场景

v-show 适用于频繁切换