v-if&v-else和v-show的区别

一、v-if&v-else和v-show的知识点

1.v-if和v-else的关系:v-if和v-else是在一起用的,当v-if的条件值为false时,就是执行v-else语句所在的标签

2.v-if和v-show的关系:v-if和v-show首先都是控制标签的显示和隐藏的,但是实现的方式不一样

3.v-if和v-show的区别:

①通过什么方式显示

如果v-if的值为true时,v-if所在的标签就会加载,即在dom树上添加此dom元素,如果为false时,不会加载v-if所在的标签,如果原来有就会将其在dom树上移除,没有就不会加载

图1

v-show是通过改变样式,如果v-show的值为ture,就会给此标签添加一个标签display:block;如果值为false,就将样式改为display:none;v-if不会管条件是神魔,都会加载这个标签

图2

②v-if有更高的切换消耗,而v-show有更多的初始化渲染消耗。

二、代码展示(属于vue代码,结构一样,)

v-show的代码片段:

<body>

    <h1>v-if&v-show&v-else</h1>

    <hr>

    <div id="app">

        <div id="a3" v-show="isTrue">恭喜恭喜</div>

    </div>

    <script src="/example/js/vue.js"></script>

    <script>

        var vm =new Vue({

            el:"#app",

            data:{

                isTrue:true,

            }

        });

    </script>

</body>

v-if和v-else的代码片段:

<body>

    <h1>v-if&v-show&v-else</h1>

    <hr>

    <div id="app">

        <div id="a1" v-if="islogin">登录成功</div>

        <div id="a2" v-else>请重新登录</div> 

    </div>

    <script src="/example/js/vue.js"></script>

    <script>

        var vm =new Vue({

            el:"#app",

            data:{

                islogin:false,

            }

        });

    </script>

</body>

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容