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 相关文章推荐
vue3.0实现点击切换验证码(组件)及校验
Nov 18 Vue.js
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
详解vue-cli项目在IE浏览器打开报错解决方法
Dec 10 Vue.js
vue 导航守卫和axios拦截器有哪些区别
Dec 19 Vue.js
Vue实现省市区三级联动
Dec 27 Vue.js
vue 计算属性和侦听器的使用小结
Jan 25 Vue.js
vue-cli 3如何使用vue-bootstrap-datetimepicker日期插件
Feb 20 Vue.js
vue实现同时设置多个倒计时
May 20 Vue.js
vue-cropper插件实现图片截取上传组件封装
May 27 Vue.js
vue使用refs获取嵌套组件中的值过程
Mar 31 Vue.js
vue修饰符.capture和.self的区别
Apr 22 Vue.js
vue router 动态路由清除方式
May 25 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
海贼王动画变成“真人”后,凯多神还原,雷利太帅了!
2020/04/09 日漫
《魔兽争霸3》重制版究竟重制了什么?玩家:这么糊弄真的好吗?
2020/05/04 魔兽争霸
PHP中比较两个字符串找出第一个不同字符位置例子
2014/04/08 PHP
JS中字符问题(二进制/十进制/十六进制及ASCII码之间的转换)
2008/11/03 Javascript
javascript学习笔记(十五) js间歇调用和超时调用
2012/06/20 Javascript
jQuery实现购物车多物品数量的加减+总价计算
2014/06/06 Javascript
js动态添加onclick事件可传参数与不传参数
2014/07/29 Javascript
js中string转int把String类型转化成int类型
2014/08/13 Javascript
js实现点击按钮后给Div图层设置随机背景颜色的方法
2015/05/06 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
原生js制作日历控件实例分享
2016/04/06 Javascript
Bootstrap 下拉多选框插件Bootstrap Multiselect
2017/01/22 Javascript
JS实现简单抖动效果
2017/06/01 Javascript
浅谈如何通过node.js对数据进行MD5加密
2018/05/16 Javascript
Angular ui-roter 和AngularJS 通过 ocLazyLoad 实现动态(懒)加载模块和依赖
2018/11/25 Javascript
详解React项目中碰到的IE问题
2019/03/14 Javascript
解决cordova+vue 项目打包成APK应用遇到的问题
2019/05/10 Javascript
python多线程扫描端口示例
2014/01/16 Python
python中xrange和range的区别
2014/05/13 Python
python中import学习备忘笔记
2017/01/24 Python
Pandas读取MySQL数据到DataFrame的方法
2018/07/25 Python
python读取Excel表格文件的方法
2019/09/02 Python
opencv python 图片读取与显示图片窗口未响应问题的解决
2020/04/24 Python
CSS3绘制圆角矩形的简单示例
2015/09/28 HTML / CSS
移动端解决悬浮层(悬浮header、footer)会遮挡住内容的3种方法
2015/03/27 HTML / CSS
香港彩色隐形眼镜在线商店:Stunninglens(全球免费送货)
2019/05/10 全球购物
沙特阿拉伯家用电器和电子产品购物网站:Sheta and Saif
2020/04/03 全球购物
如何打开WebSphere远程debug
2014/10/10 面试题
完美实现CSS垂直居中的11种方法
2021/03/27 HTML / CSS
超市实习总结自我鉴定
2013/09/19 职场文书
项目合作意向书范本
2014/04/01 职场文书
世界地球日活动总结
2015/02/09 职场文书
2019年最新证婚词精选集!
2019/06/28 职场文书
面试分析分布式架构Redis热点key大Value解决方案
2022/03/13 Redis
「玫瑰之王的葬礼」舞台剧主视觉图公开
2022/03/21 日漫