一.相同点:
v-show和v-if都可以控制元素的显示与隐藏
二.不同点:
1.实现本质的不同:
v-show 是通过把css中的display属性设置为block或none来控制显示与隐藏的
v-if 是动态的向Dom树内添加或者删除元素,它会确保在切换过程中,条件块内的事件监听器和子组件适当的被销毁和重建
2.编译条件的不同:
v-show 不管渲染条件是显示还是隐藏,都会进行编译
v-if 的编译条件是false的话,就不会进行编译了
三.总结
所以,结合现实情况和编译条件总的来说的话:
如果某个节点需要被频繁的切换时,应该用v-show,因为v-show在初始时不论渲染条件是true或false都会进行渲染,所以在频繁切换时,不会消耗过多的性能.
如果某个节点不需要被频繁的切换时,应该用v-if,因为它只会对渲染条件为ture的节点进行渲染,避免在初始渲染时消耗太多性能