zoukankan      html  css  js  c++  java
  • vue学习笔记二:v-if和v-show的区别

    v-if vs v-show

    v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

    v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

    相比之下, v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

    一般来说, v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-show 较好;如果在运行时条件不太可能改变,则使用 v-if 较好。

    <template>
        <div id="app">
            <div v-if="isIf">
                if
            </div>
            <div v-show="ifShow">
                show
            </div>
            <button @click="toggleShow">toggle</button>
        </div>
    </template>
    
    <script>
        export default {
            name: 'app',
            data() {
                return {
                    isIf : true,
                    ifShow : true,
                    loginType : "username"
                }
            },
            methods: {
                toggleShow : function(){
                    this.ifShow = this.ifShow ? false : true;
                    this.isIf = this.isIf ? false : true;
                }
            }
        }
    </script>

    看chrom控制台能更明显的看出来

    对比可以看出v-if直接从代码中删除了,v-show只是通过display来切换状态,因此建议频繁切换的话用v-show比较好

  • 相关阅读:
    Centos7
    appium+python常见报错(appium方面)
    python标准库之datetime
    python异常捕获
    python写入文件和读取文件
    python标准库之collections
    python导入类
    python3+robotframework+pycharm安装运行
    python 继承/父类和子类的关系
    python_类
  • 原文地址:https://www.cnblogs.com/diantao/p/7365511.html
Copyright © 2011-2022 走看看