当前位置: 首页 > 编程笔记 >

vue学习笔记之v-if和v-show的区别

华君浩
2023-03-14
本文向大家介绍vue学习笔记之v-if和v-show的区别,包括了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比较好

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍如何区分vue中的v-show 与 v-if,包括了如何区分vue中的v-show 与 v-if的使用技巧和注意事项,需要的朋友参考一下 1. v-show 不管初始的条件是什么,元素总是会被渲染,并且只是简单的基于 CSS display: none 或者 display: block 的属性进行切换。 2. v-if 会根据初始的条件(data里自己的定义的数据)来进行真正的渲染

  • 本文向大家介绍实例讲解v-if和v-show的区别,包括了实例讲解v-if和v-show的区别的使用技巧和注意事项,需要的朋友参考一下 代码: 没点击前的图 点击后的图 显示来看v-if 是“真正的”条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建;而v-show 不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。 一般来说, v-if 有

  • v-if是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。 v-if也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。 相比之下,v-show就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。 一般来说,v-if有更高的切换开销,而v-show有更高的初始渲染开销。因

  • 本文向大家介绍v-if和v-show哪个优先级更高?相关面试题,主要包含被问及v-if和v-show哪个优先级更高?时的应答技巧和注意事项,需要的朋友参考一下 v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。 v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。 相比之下,v-show

  • 本文向大家介绍vue学习笔记之动态组件和v-once指令简单示例,包括了vue学习笔记之动态组件和v-once指令简单示例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了vue动态组件和v-once指令。分享给大家供大家参考,具体如下: 点击按钮时,自动切换两个组件 <component :is="type"></component>,当点击按钮之后,会自动清除原来的组件,显示新的组件。

  • 背景: 我要实现的功能大概是一个 video 标签的自定义进度条。用户可以进行拖拽进行快进和后退。 下面这段代码是我的思路。首先我构造了一个父容器 div,container 1: 当用户没开始触摸进度条的时候, 我展示一个默认的黑色进度条给用户。 2: 当用户开始触摸进度条的时候,我会通过变量 isDragingProgressbar 来切换另一个假的进度条给用户来拖拽,颜色是白色。 在这两个进