v-if/v-show的区别

123 阅读1分钟

v-if

  • v-if是真正的条件渲染,因为她会确保在切换过程中条件块内的事件监听器和子组件适当的被销毁和重建
  • v-if也是惰性的:如果在初始渲染时条件为假,则什么也不做,直到为真时,才会开始渲染条件块
  • 使用key高效管理复用元素,vue通常会复用已有元素而不是从头开始渲染,这么做除了使vue变得非常快之外,还有其他一些好处,比如可以实现用户在不同的登录方式之间切换

v-show

  • v-show无论初始条件是什么,元素总是会被渲染,并且只是简单的基于css进行切换
  • v-show的元素始终会被渲染并保留在DOM中,只是简单的切换元素的css property的display
  • v-show也不支持template元素,也不支持v-else