作用:
都是控制某个元素的显示与隐藏
v-if:
v-if指令会根据表达式的真假有条件地渲染元素。当表达式为真时,元素将被渲染;否则,元素将不会被渲染。因此,v-if具有“惰性”特性,即只有当条件第一次满足时,元素才会被创建和插入DOM。
v-show:
v-show指令也会根据表达式的真假有条件地渲染元素。然而,无论表达式为真或假,元素始终会被创建并被插入DOM。当表达式为假时,元素将不会被显示,但它仍然存在于DOM中,并占用空间。因此,v-show具有“惰性”和“始终存在”的特性。
性能影响:
v-if:由于v-if会根据条件动态创建和销毁元素,因此它对性能的影响可能较大。当需要频繁切换条件时,使用v-if可能会导致页面性能下降。
v-show:由于v-show不会销毁元素,只是简单地切换元素的可见性,因此它对性能的影响相对较小。即使频繁切换条件,v-show也不会对性能造成显著影响。
总结:
-
如果要双分支多分支,那肯定用v-if的组合
-
但是v-if是通过操作dom的创建和销毁来控制的,而v-show是通过display来控制的,所以v-show的性能更高。如果频繁切换那建议用v-show
-
如果是一次决定有或者没有某个标签就用 v-if