v-show 和 v-if 的区别
都是用来控制元素的显示与隐藏的
区别就在于:
-
V-show是对class样式切换;v-if是对Dom元素切换;频繁切换用v-show,切换消耗小,反之用v-if,运行条件很少改变,那为什么建议控制v-if 的使用
-
v-if是真正意义上的“条件渲染”。符合条件就渲染,否则不渲染DOM,浏览器中找不到这个DOM。
-
v-show严格意义上说“条件隐藏”。浏览器首先把HTML元素先渲染出来,符合条件就显示,不符合条件display就为none,不显示,但是元素还在那。
如何选择
v-if有更高的切换开销,v-show有更高的初始渲染开销。如果需要频繁的切换,使用v-show比较好,如果运行条件很少改变,使用v-if比较好。