v-if与v-show的使用方法以及区别

简介: v-if与v-show的使用方法以及区别在vue里面有两种方式来控制元素的显示与隐藏,分别是v-if和v-show,这两种方式都可以控制元素的显示与隐藏,那么如何进行使用呢?

v-if与v-show的使用方法以及区别

在vue里面有两种方式来控制元素的显示与隐藏,分别是v-if和v-show,这两种方式都可以控制元素的显示与隐藏,那么如何进行使用呢?

v-if

在vue中使用v-if来控制元素的显示与隐藏,v-if是一个指令,当v-if的值为true时,元素显示,当v-if的值为false时,元素隐藏。

使用一个栗子来说明:

<div id = "app">
    <button @click="show = !show">切换</button>
    <div v-if="show">我是v-if</div>
  </div>
复制代码
var app = new Vue({
        el: '#app',
        data: {
        show: true,
        }
    })
复制代码

当点击按钮时,show的值会发生改变,当show的值为true时,元素显示,当show的值为false时,元素隐藏。

v-show

在vue中使用v-show来控制元素的显示与隐藏,v-show是一个指令,当v-show的值为true时,元素显示,当v-show的值为false时,元素隐藏。

使用一个栗子来说明:

<div id = "app">
    <button @click="show = !show">切换</button>
    <div v-show="show">我是v-show</div>
  </div>
复制代码
var app = new Vue({
        el: '#app',
        data: {
        show: true,
        }
    })
复制代码

在这个例子中,我们点击按钮的时候,show的值会发生改变,当show的值为true时,元素显示,当show的值为false时,元素隐藏。

两种方式的区别

上面我们看到,两种方式都可以控制元素的显示与隐藏,那么这两种方式有什么区别呢?

v-if

其实真正的隐藏元素是通过v-if来实现的,当v-if的值为false时,元素并不会被页面渲染,当v-if的值为true时,元素才会开始渲染。

v-if的值为false时,元素并不会出现在页面中。true:

网络异常,图片无法展示
|


false:


网络异常,图片无法展示
|


如果页面不需要频繁的控制同一元素的显示与隐藏,那么使用v-if来控制元素的显示与隐藏是最好的选择。

因为这样可以更好的提高页面的性能。

v-show

v-show中,元素一开始就会被渲染,就类似于css中的display属性,当v-show的值为false时,元素的display属性为none,当v-show的值为true时,元素的display属性为block。

v-show的值为false时,元素的display属性为none:

网络异常,图片无法展示
|

v-show的值为true时,元素的display属性为block:

网络异常,图片无法展示
|


也就是当我们使用v-show来控制元素的显示与隐藏时,元素一直都存在与页面当中,当我们页面中需要经常切换元素的显示与隐藏的时候,我们就可以使用v-show来控制元素的显示与隐藏。


相关文章
|
6月前
|
JavaScript 前端开发
揭秘`v-if`和`v-show`的区别:选择正确指令的技巧(上)
揭秘`v-if`和`v-show`的区别:选择正确指令的技巧(上)
|
6月前
|
缓存 JavaScript 前端开发
揭秘`v-if`和`v-show`的区别:选择正确指令的技巧(下)
揭秘`v-if`和`v-show`的区别:选择正确指令的技巧(下)
|
6月前
|
前端开发 JavaScript
v-if和v-show的区别
v-if和v-show的区别
39 0
|
缓存 JavaScript 算法
v-if和v-show的区别及源码分析
v-if和v-show的区别及源码分析
135 1
|
JavaScript
v-show和v-for区别
v-show和v-for区别
v-show和v-for区别
|
JavaScript 前端开发
v-show和v-if的区别(面试题)
v-show和v-if的区别(面试题)
57 0
|
JavaScript 前端开发
v-show和v-if区别
v-show和v-if区别
126 0
|
JavaScript 前端开发
v-if和v-show的区别?
v-if和v-show都是Vue.js框架中的指令,用于根据条件显示或隐藏DOM元素,但它们的实现方式不同,导致在使用时需要注意以下区别:
|
存储 C++ 容器
C++中set的用法学习
Set是C++ STL(标准模板库)的一个容器类,它用于存储不同的值,并且可以按照特定顺序进行访问和操作。Set是一种基于红黑树实现的关联容器,也就是说它的元素按照固定的顺序排列,且每个元素都唯一。 Set中包含的元素是自动排序的,因此,如果你需要在存储值的同时能够高效的进行查找,那么Set会是一个很好的选择。
242 0