vue中v-if和v-show的区别
1.共同点
都可以控制DOM元素的显示和隐藏
2.区别
(1)实现方式不同:v-if是动态的向DOM元素中添加或删除元素,而v-show是通过设置元素的display样式block或者none来实现。
(2)编译过程:v-if的切换有一个局部编译或卸载的过程,切换过程中实时的销毁和重建内部的事件监听和子组件;v-show只是简单的切换css.
(3)编译条件:v-if时惰性的,如果开始条件为假,则不会做什么,只有当条件第一次变为真的时候才开始局部编译,编译被缓存,然后再切换的时候进行局部卸载; v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留;
(4)性能消耗:v-if有更高换消耗;v-show有更高的初始渲染消耗;
(5)使用场景:v-if适合运营条件不大可能改变;v-show适合频繁切换。