Vue2之 v-if VS v-show

devtools/2024/9/22 15:26:49/

Vue2 中的 v-if 和 v-show 都是用来实现条件性渲染的指令,用于控制元素显示与隐藏的指令,但它们在实现机制和使用场景上有所不同:

一、实现机制

1.1、v-if 

  • 当条件表达式为真时,Vue.js 会根据条件动态地创建或销毁对应的 DOM 元素。
  • 当条件为假时,Vue.js 会销毁对应的 DOM 元素,并且从 DOM 中移除。
  • 每次条件改变时,Vue.js 都会重新进行 DOM 的创建或销毁,这可能会导致性能开销较高,尤其是在频繁切换的情况下。

1.2、v-show 

  • 当条件表达式为真时,Vue.js 会简单地切换元素的 CSS 样式,将其显示出来。
  • 当条件为假时,Vue.js 会将元素的 CSS 样式设置为 display: none;,将其隐藏起来。
  • 元素始终存在于 DOM 中,只是其可见性发生了改变,因此切换的开销较小。
  • 由于并不涉及 DOM 的创建或销毁,所以即使在频繁切换的情况下,性能表现也较好。

二、性能影响:

2.1、v-if 

  • 当条件表达式在变化时,v-if 会动态地创建或销毁 DOM 元素。这意味着在条件变化时,会有额外的 DOM 操作和重建的开销。
  • 如果条件变化不频繁,这种额外的开销可能是可以接受的,但是如果条件变化频繁,v-if 可能会导致性能下降,因为频繁的 DOM 操作会引起页面的重排和重绘。

2.2、v-show 

  • v-show 只是简单地切换元素的 CSS 样式,不会涉及到 DOM 的创建或销毁。因此,即使条件频繁变化,性能影响也比较小。
  • 由于元素始终存在于 DOM 中,所以不会引起页面的重排和重绘,这有助于提高页面的性能和流畅度。

三、使用场景

3.1、v-if 

  • 条件变化较少或者条件切换开销不是很大的情况下。
  • 需要完全销毁和重新创建 DOM 元素的情况,例如在需要对大型组件进行条件渲染时。
  • 当元素的渲染与销毁对页面性能影响不大或者可以接受时。

3.2、v-show 

  • 需要频繁切换显示状态的情况,例如在响应用户交互或者动画效果时。
  • 希望减少 DOM 操作和页面重排、重绘对性能的影响。
  • 当元素的存在与否对页面布局不产生影响,仅影响元素的显示状态时。

http://www.ppmy.cn/devtools/25243.html

相关文章

TCP关闭连接时的一些思考

TCP协议是TCP/IP栈中最复杂的协议,它最大的优点是传输的可靠性,这通过面向连接、按序传输、超时重传、流量控制等机制保证其传输的可靠性。但这并不是我们今天要讨论的重点! TCP通信的过程分别是三个阶段:建立连接、传输数据、关…

数据库的基本操作

条件查找 where 字段值 多条件 and or -- select * from tb_1 where name"打算" -- 条件查询 where 字段值 多字段 and or -- select * from tb_1 where name"打算" or sex"女" -- 查询可以使用多种运算符 -- select * from tb_1 where ag…

ubuntu samba 安装与配置

ubuntu samba 安装与配置 一:安装二:添加samba访问账号及密码三:修改配置文件四:重启服务五:登录 一:安装 sudo apt update sudo apt install samba samba-common二:添加samba访问账号及密码 …

邦注科技模具监视器 模具CCD影像检测 电子眼代替人眼

在制造行业,很多公司在模具方面损失很大,由于不同模具的特殊性不规则形导致尽管采取很多模具保护措施却依然无法减少压模带来的损失。针对这一行业难点讯采科技自主研发的模具监视器利用先进的机器视觉技术代替人眼实时监控模具运行情况,智能…

Anaconda的环境快速迁移(目前windows,未来更新linux)

摘要: 日常办公经常需要在新机器上部署运行环境并进行代码调试,尤其是在AI迅速发展的今天,python已经成为了强有力的AI领域编程语言之一。为了方便对不同windows下python代码工程进行快速部署。本文主要从工具环境的安装、原环境的快速打包、…

什么是域名解析?域名解析的完整流程是什么?如何清理DNS缓存?(附源码)

目录 1、什么是域名? 2、为什么使用域名? 3、域名解析的完整流程 4、调用gethostbyname系统接口将域名解析成IP地址 5、为什么需要清理系统DNS缓存? 6、使用cmd命令清理DNS缓存 7、通过代码去清除系统DNS缓存 C软件异常排查从入门到精…

去中心化自治组织(DAO)

文章目录 一、DAO (Decentralized Autonomous Organization) 去中心化自治组织 二、举例说明 1、例子1 2、例子2 总结 一、DAO (Decentralized Autonomous Organization) 去中心化自治组织 DAO是一种基于区块链平台上的组织结构,它通过智能合约来实现组织的…