10. Vue v-if 和 v-show 的使用和特点

2022-01-17 09:14:50 浏览数 (1)

前言

在页面开发中,总会有需要判断情况,然后控制显示页面元素或者组件的情况,此时此刻就要使用「v-if」「v-show」, 这两者的命令在效果上基本上是一致的。但是又有不同之处,下面来看看。

基本使用说明

v-if : 当flag为true,则显示,如果flag为false,则隐藏。v-if 的特点:每次都会重新删除或创建元素

代码语言:javascript复制
<h3 v-if="flag">这是用v-if控制的元素</h3>

v-show : 当flag为true,则显示,如果flag为false,则隐藏。v-show 的特点:每次不会重新进行DOM的删除和创建操作,只是切换了元素的 display:none 样式

代码语言:javascript复制
<h3 v-show="flag">这是用v-show控制的元素</h3>

设置flag为false,隐藏 v-if 和 v-show 的效果

代码语言:javascript复制
<!DOCTYPE html>
<html lang="en" xmlns:v-bind="http://www.w3.org/1999/xhtml">
<head>
    <meta charset="UTF-8">
    <title>Title</title>

</head>
<body>

    <div id="app">

        <h3 v-if="flag">这是用v-if控制的元素</h3>

        <h3 v-show="flag">这是用v-show控制的元素</h3>

    </div>

    <!--  1.导入vue.js库  -->
    <script src="lib/vue.js"></script>

    <script>
        // 2. 创建一个Vue的实例
        var vm = new Vue({
            el: '#app',
            data: {
                flag: false
            },
            methods:{}
        })
    </script>

</body>
</html>

浏览器显示如下:

总结

  • 如果元素涉及到频繁的切换,最好不要使用 v-if, 而是推荐使用 v-show 。因为v-if 会频繁创建、删除dom元素,非常效果浏览器性能。
  • 如果元素可能永远也不会被显示出来被用户看到,则推荐使用 v-if。因为v-show总是需要创建dom元素的,而 v-if 只有需要显示的时候才会创建。

0 人点赞