1、v-show 与 v-if 有什么区别?
v-if 每次都会重新删除或创建元素,是真正的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建;也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。有较高的切换性能消耗。
v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,每次不会重新进行DOM的删除和创建操作,只是切换了元素的 display:none 样式。有较高的初始渲染消耗。
所以,v-if 适用于在运行时很少改变条件,不需要频繁切换条件的场景,例如元素可能永远也不会被显示出来被用户看到;v-show 则适用于需要非常频繁切换条件的场景