频繁切换则使用v-show ; 运行条件少改变则使用v-if
1、手段:
v-if 是通过控制dom节点的存在与否来控制元素的显示和隐藏;
v-show是通过设置dom元素的display样式,block显示,none不显示;
2、编译过程;
v-if切换有一个局部编译、缺载的过程,切换过程中合适的销毁和重建内部的事件监听和子组件;
v-show只是简单的基于css的切换;
3、编译条件
v-if是惰性的,如果初始条件为假,则什么也不做,只有在条件第一次变真时才开始编译,编译被缓存后,然后在切换的时候进行局部的卸装;
v-show是在任何条件下都被编译然后被缓存,而dom元素保留;
4、性能消耗
v-if有更高的切换消耗;
v-show有更高的初始渲染消耗
总结:
v-if判断是否加载,可以减轻服务器的压力,在需要时加载,但是有更高的切换开销;
v-show调载Dom元素的display属性可以使客户端更加的流畅,但是有更高的初始渲染开销;