一.v-show
v-show操控的是DOM元素的显示和隐藏。
带有 v-show 的元素始终会被渲染并保留在 DOM 中。v-show 只是简单地切换元素的 CSS 属性 display(display:none/block)。
写法: v-show=“表达式”
适用于: 切换频率较高的场景。.
特点: 不展示的DOM元素未被移除,仅仅是使用样式隐藏掉
注意: 使用v-if的时,元素可能无法获取到,而使用v-show一定可以获取到。
二.v-if
v-if操控的是DOM元素的销毁和重建。
写法:
(1).v-if=“表达式”
(2).v-else-if=“表达武”
(3).v-else=“表达式”
适用于: 切换频率较低的场景。
特点: 不展示的DOM元素直接被移除。
注意: v-if可以和:v-else-if、v-else一起使用,但要求结构不能被“打断”(就是几个v-if中间不能有不带v-if、v-else-if或v-else的元素)。
由于v-if操控的是元素的销毁和重建,如果需要用v-if显示隐藏多个元素,开销会比较大,
可以在 template 元素上使用 v-if 条件渲染分组
因为 v-if 是一个指令,所以必须将它添加到一个元素上。但是如果想切换多个元素呢?此时可以把一个 元素当做不可见的包裹元素,并在上面使用 v-if。最终的渲染结果将不包含 元素。