Vue中的 v-if 和 v-show条件渲染

一、v-if 和v-show的共同点

1、都能控制DOM元素的显示和隐藏

二、v-if 和v-show的区别

1、v-if:为false时,动态移除不展示

      1.1:v-if 是直接将dom元素添加或者删除,是实现真正的条件渲染,它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建

       1.2:v-iffalse变为true的时候,触发组件的beforeCreatecreatebeforeMountmounted钩子,由true变为false的时候触发组件的beforeDestorydestoryed方法。

2、v-show:为false时,添加css样式进行隐藏

2.1:v-show隐藏则是为该元素添加css--display:nonedom元素依旧还在。

2.2:v-show 只是基于CSS的切换,并不会触发组件的生命周期。

例如: 

v-if 是直接将展示的添加;v-show 是将所有的dom元素都保留,将不展示的采用css样式进行隐藏。

结果:一般来说,一次永久展示的采用 v-if 会更好;而如果有存在频繁进行切换展示则采用v-show更好。

Vue中的 v-if 和 v-show条件渲染_第1张图片

 三、v-if 使用场景

1、通过条件判断展示或者隐藏某个元素/或者多个元素

2、视图之间的切换

四、v-if  和 v-else(按需展示)

{{message}}

hello

v-if为true时,执行if,否则执行else。

你可能感兴趣的:(#,VUE,vue.js,javascript)