v-if与v-show的区别
时间:2022-07-24
本文章向大家介绍v-if与v-show的区别,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
v-if与v-show的区别
v-if
指令与v-show
指令都可以根据值动态控制DOM
元素显示隐藏,v-if
和v-show
属于Vue
的内部常用的指令,指令的职责是当表达式的值改变时把某些特殊的行为应用到DOM
上。
描述
v-if
v-if
指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回truthy
值的时候被渲染。
<div v-if="show">show</div>
<div v-else>hide</div>
v-show
v-show
指令用法大致一样,不同的是带有v-show
指令的元素始终会被渲染并保留在DOM
中,v-show
只是简单地切换元素的CSS property display
。
<div v-show="show">show</div>
区别
- 实现方式:
v-if
是动态的向DOM
树内添加或者删除DOM
元素,v-show
是通过设置DOM
元素的display
样式属性控制显隐。 - 编译过程:
v-if
切换有一个局部编译卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件,v-show
只是简单的基于CSS
切换。 - 编译条件:
v-if
是惰性的,如果初始条件为假,则什么也不做,只有在条件第一次变为真时才开始局部编译,v-show
是在任何条件下都被编译,然后被缓存,而且DOM
元素保留。 - 性能消耗:
v-if
有更高的切换消耗,v-show
有更高的初始渲染消耗。 - 使用场景:
v-if
适合条件不太可能改变的情况,v-show
适合条件频繁切换的情况。
每日一题
https://github.com/WindrunnerMax/EveryDay
参考
https://cn.vuejs.org/v2/guide/conditional.html#v-if
https://www.cnblogs.com/dengyao-blogs/p/11378228.html
https://cn.vuejs.org/v2/guide/conditional.html#v-show
- 让WooCommerce 中文网关支持PayPal 并自动按汇率进行转换
- Sass 基础(八)
- 在WordPress 的文章或页面中运行PHP 代码
- Sass 基础(七)
- Sass 基础(六)
- Sass 基础(五)
- [信息安全] 1.密码工具箱
- [解读REST] 2.REST用来干什么的?
- [解读REST] 5.Web的需求 & 推导REST
- [解读REST] 1.REST的起源
- [解读REST] 3.基于网络应用的架构
- [解读REST] 4.基于网络应用的架构风格
- [解读REST] 6.REST的应用经验以及教训
- [认证授权] 6.Permission Based Access Control
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 在linux中用同一个版本的R 同时安装 Seurat2 和 Seurat3的教程
- AUCell:在单细胞转录组中识别细胞对“基因集”的响应
- linux查看硬件配置命令的方法示例
- Ubuntu环境编译安装PHP和Nginx的方法
- Ubuntu环境源码编译安装xdebug的方法
- CNS图表复现07—原来这篇文章有两个单细胞表达矩阵
- CentOS 7.x 安装 ZSH 终端的配置方法
- centos7 安装mysql和mysqlclient遇到的坑总结
- iOS音视频接入- TRTC计费及套餐介绍
- Linux简介及最常用命令(简单易学,但能解决95%以上的问题)
- Linux一行命令处理批量文件详解
- Linux中jar包启动和jar包后台运行的实现方式
- Linux下实现不活动用户登录超时后自动登出
- Centos7下nginx的安装与配置教程详解
- Linux上进行常用软件的配置方法