VUE中的v-if与v-show区别介绍


Posted in Vue.js onMarch 13, 2022

1.共同点

都是动态显示DOM元素

2.区别

  • (1)手段:v-if是动态的向DOM树内添加或者删除DOM元素;v-show是通过设置DOM元素的display样式属性控制显隐;
  • (2)编译过程:v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件;v-show只是简单的基于css切换;
  • (3)编译条件:v-if是惰性的,如果初始条件为假,则什么也不做;只有在条件第一次变为真时才开始局部编译(编译被缓存?编译被缓存后,然后再切换的时候进行局部卸载); v-show是在任何条件下(首次条件是否为真)都被编译,然后被缓存,而且DOM元素保留;
  • (4)性能消耗:v-if有更高的切换消耗;v-show有更高的初始渲染消耗;
  • (5)使用场景:v-if适合运营条件不大可能改变;v-show适合频繁切换。

Tips:如果v-show作用的元素,css文件中display:none,通过v-show进行设置不能显示该元素;

原因:v-show控制显隐,是通过js代码去修改元素的element style,如果value为false,设置display: none;如果value为true,设置display: '';于是value为true时,只能将element style中的display效果清除,并不能覆盖css中的display效果;

如下图所示,value=true时,v-show改变的是element.style,由于无效,显示效果由css文件中的display决定。

VUE中的v-if与v-show区别介绍

解决办法:使用v-show的话,在vue解析之前隐藏DOM的话,尽量在style属性里面设置display的值,不要在css文件中。

<ul v-touch:tap="message=2" style="display: none" v-show="show">

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Vue.js 相关文章推荐
在Vue中使用mockjs代码实例
Nov 25 Vue.js
Vue实现图书管理小案例
Dec 03 Vue.js
vue表单验证之禁止input输入框输入空格
Dec 03 Vue.js
vue实现登录、注册、退出、跳转等功能
Dec 23 Vue.js
antdesign-vue结合sortablejs实现两个table相互拖拽排序功能
Jan 08 Vue.js
如何使用RoughViz可视化Vue.js中的草绘图表
Jan 30 Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 Vue.js
Vue2.x-使用防抖以及节流的示例
Mar 02 Vue.js
手写Vue2.0 数据劫持的示例
Mar 04 Vue.js
详解Vue的sync修饰符
May 15 Vue.js
浅谈Vue的computed计算属性
Mar 21 Vue.js
vue动态绑定style样式
Apr 20 Vue.js
Vue.js中v-bind指令的用法介绍
Mar 13 #Vue.js
Vue2.0搭建脚手架
Vue.js中v-for指令的用法介绍
Mar 13 #Vue.js
Vue如何清空对象
Mar 03 #Vue.js
Vue中Object.assign清空数据报错的解决方案
Mar 03 #Vue.js
vue实现移动端div拖动效果
Mar 03 #Vue.js
vue实现滑动解锁功能
You might like
一个ORACLE分页程序,挺实用的.
2006/10/09 PHP
PHP调用三种数据库的方法(2)
2006/10/09 PHP
php 生成文字png图片的代码
2011/04/17 PHP
Linux下PHP加速器APC的安装与配置笔记
2014/10/24 PHP
PHP处理大量表单字段的便捷方法
2015/02/07 PHP
PHP常用函数总结(180多个)
2016/12/25 PHP
深入理解PHP的远程多会话调试
2017/09/21 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
jquery中常用的SET和GET
2009/01/13 Javascript
Javascript 两个窗体之间传值实现代码
2009/09/25 Javascript
Javascript 函数中的参数使用分析
2010/03/27 Javascript
js获得当前时区夏令时发生和终止的时间代码
2014/02/23 Javascript
JavaScript中继承用法实例分析
2015/05/16 Javascript
详细解读JavaScript的跨浏览器事件处理
2015/08/12 Javascript
详解页面滚动值scrollTop在FireFox与Chrome浏览器间的兼容问题
2015/12/03 Javascript
jquery div模态窗口的简单实例
2016/05/28 Javascript
js制作网站首页图片轮播特效代码
2016/08/30 Javascript
浅谈JavaScript中promise的使用
2017/01/11 Javascript
jQuery中ztree 点击文本框弹出下拉框的实例代码
2017/02/05 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
2017/04/24 Javascript
require.js与bootstrap结合实现简单的页面登录和页面跳转功能
2017/05/12 Javascript
js回调函数仿360开机
2019/12/26 Javascript
Nuxt.js nuxt-link与router-link的区别说明
2020/11/06 Javascript
[01:02:38]DOTA2-DPC中国联赛定级赛 LBZS vs Phoenix BO3第二场 1月10日
2021/03/11 DOTA
浅谈Python中copy()方法的使用
2015/05/21 Python
Python中str is not callable问题详解及解决办法
2017/02/10 Python
浅谈Python由__dict__和dir()引发的一些思考
2017/10/30 Python
python实现redis三种cas事务操作
2017/12/19 Python
Python3.7基于hashlib和Crypto实现加签验签功能(实例代码)
2019/12/04 Python
Python基于gevent实现高并发代码实例
2020/05/15 Python
Python自动化操作实现图例绘制
2020/07/09 Python
怀俄明州飞钓:Platte River Fly Shop
2017/12/28 全球购物
外贸业务员岗位职责
2013/11/24 职场文书
教师节促销方案
2014/03/22 职场文书
2014年体育工作总结
2014/11/24 职场文书
宇宙与人观后感
2015/06/05 职场文书