首页 > 其他分享 >v-if与v-show的区别

v-if与v-show的区别

时间:2023-07-30 15:22:26浏览次数:36  
标签:none 区别 元素 渲染 dom show 隐藏

首先它两都是用作于条件渲染但他们有如下区别

1.初始化渲染:

v-if只有当条件为真的时候,元素才会渲染到页面,只要初始化条件为假的话就不会渲染到页面中去,其实v-if才是真正的条件渲染,因为每次显示与隐藏都会在dom数中新增或删除dom,这样就会导致子组件或元素或事件监听器也跟着重建或销毁,而v-show则不是,它的条件发生改变时其不会触发组件的生命周期的改变。

v-show在初始化的过程中无论真假条件都会被渲染到dom中,只不过他会通过控制css样式的display:none去控制元素的显示与隐藏。

2.响应式

v-if 当条件发生变化的时候会根据条件进行求值判断是否显示与隐藏,但是它的显示与隐藏会重新渲染或者销毁dom.

v-show 当条件发生变化时不会重新渲染或者销毁dom。

3.渲染开销

v-if 当条件为假的时候,元素不会被渲染到dom,也就是说此时相对v-show 无论显示与隐藏与否都会生成dom,只是通过样式去控制,这样来说是v-if节省了许多的开销

4.适用条件

v-if适合运行条件很少改变的情况; v-show适合频繁切换的情况。

 

二。display:none    与visibility:none的区别

"display: none"和"visibility: hidden"都是用于隐藏元素的CSS属性,但它们之间有一些区别。

  1. 显示与占据空间:

    • “display: none”:隐藏元素,同时元素在页面中不会占据空间,其他元素会自动填充隐藏元素的位置。
    • “visibility: hidden”:隐藏元素,但元素仍然在页面中占据空间,其他元素不会填充隐藏元素的位置。
  2. 事件触发:

    • “display: none”:隐藏元素的同时,会禁用元素上的所有事件和交互,不会响应用户的操作。
    • “visibility: hidden”:隐藏元素,但仍然可以触发元素上的事件和交互。
  3. 子元素的显示:

    • “display: none”:隐藏元素及其所有子元素,子元素也不会显示。
    • “visibility: hidden”:隐藏元素本身,但子元素会继续显示。

标签:none,区别,元素,渲染,dom,show,隐藏
From: https://www.cnblogs.com/lhnbclass/p/17591480.html

相关文章

  • VS的 x86_64 , x64_86 , x64 , x86 有什么区别
    x86NativeToolsCommandPrompt-Setstheenvironmenttouse32-bit,x86-nativetoolstobuild32-bit,x86-nativecode.x64NativeToolsCommandPrompt-Setstheenvironmenttouse64-bit,x64-nativetoolstobuild64-bit,x64-nativecode.x86_x64Cross......
  • vue中ref和reactive的区别
    在Vue3中,`ref`和`reactive`是两种不同的响应式数据处理函数,它们有以下区别:1.**处理的数据类型**:-`ref`:`ref`函数用于处理基本数据类型,如数字、字符串、布尔值等。它可以将基本类型数据包装成一个响应式的引用,使其在模板中能够自动追踪变化。-`reactive`:`reactive......
  • HuggingFace | 各种tokenizer有啥区别
    在HuggingFace中,有多种不同的tokenizer实现可供选择,每种实现都有其独特的优缺点和用途。BertTokenizer:适用于BERT模型,支持WordPiece分词和Byte-PairEncoding(BPE)分词算法。它还支持对输入序列进行截断和填充,以适应模型的输入要求。RobertaTokenizer:适用于RoBERTa模......
  • watch和computed的区别
    官方文档vue-计算属性computed——>计算属性官方对于计算属性的解释是:对于任何复杂逻辑,你都应当使用计算属性。计算属性是基于它们的响应式依赖进行缓存的。只在相关响应式依赖发生改变时它们才会重新求值。个人理解:计算属性是为了模板中的表达式简洁,易维护,符合用于简单运算的设计......
  • VS选择Visual C++中的控制台项目和空项目、Windows桌面应用程序三者之间有什么区别?
    在VisualStudio中创建C/C++项目时,可以选择控制台项目、空项目和Windows桌面应用程序,它们有以下区别:控制台项目(ConsoleApplication):这种项目类型适用于命令行应用程序的开发。它提供一个命令行界面,可以在控制台中进行输入和输出操作,通常用于简单的控制台程序,如计算器、文件......
  • Modbus tcp转ETHERCAT网关modbus tcp主从站区别
    捷米JM-ECT-TCP网关能够连接到Modbustcp总线和ETHERCAT总线中,实现两种不同协议设备之间的通讯。这个网关能够大大提高工业生产的效率和生产效益,让生产变得更加智能化。捷米JM-ECT-TCP是自主研发的一款ETHERCAT 从站功能的通讯网关。该产品主要功能是将ETHERCAT 网络和MODBU......
  • ETHERNET/IP转RS485/RS232网关ethernet和tcp/ip的区别
    网络数据传输遇到的协议不同、数据互通麻烦等问题,一直困扰着大家。然而,现在有一种神器——捷米JM-EIP-RS485/232,它将ETHERNET/IP网络和RS485/RS232总线连接在一起,让数据传输更加便捷高效。那么,它是如何实现这一功能的呢?JM-EIP-RS485/232是一款自主研发的通讯网关,可以在ETHERNET/......
  • SAP CDS view 定义的数据库视图和传统 SQL 语句定义视图的区别
    SAPCDS(CoreDataServices)是SAPHANA数据模型开发的一种技术。它提供了一种领域特定的语言,用于定义数据模型,以及对数据进行查询、转换和展示。与传统的SQL(StructuredQueryLanguage)相比,SAPCDSview语法具有许多独特的特点和优势。在本文中,我将详细比较SAPCDSview语......
  • SAP CDS View 和 SAP HANA View 的区别
    SAPCDS(CoreDataServices)视图和SAPHANA视图都是用于数据提取和模型化的工具。它们的主要区别在于创建位置、语法、性能优化等方面。具体的区别和联系如下:创建位置:SAPCDS视图是在ABAP层创建的,它们是ABAP字典的一部分。另一方面,SAPHANA视图是在数据库层创建的,它们存在于HANA......
  • worry和worried的区别
    worry和worried的区别是worry既是名词,又是动词。  1、从时态方面讲,worried是worry的过去式,从主被动方面讲,worry是主动式,worried是被动式,动词的被动式是be+这个单词的过去形式,beworriedabout表示一个状态,而worryabout表示一个动作,就像determinetodosth和bedetermi......