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+iview实现分页及查询功能
Nov 17 Vue.js
vue3.0+vue-router+element-plus初实践
Dec 02 Vue.js
Vue中computed和watch有哪些区别
Dec 19 Vue.js
如何在VUE中使用vue-awesome-swiper
Jan 04 Vue.js
基于VUE实现简单的学生信息管理系统
Jan 13 Vue.js
浅谈Vue开发人员的7个最好的VSCode扩展
Jan 20 Vue.js
vue 数据双向绑定的实现方法
Mar 04 Vue.js
如何使用vue3打造一个物料库
May 08 Vue.js
Vue如何实现组件间通信
May 15 Vue.js
详解vue中v-for的key唯一性
May 15 Vue.js
详细聊聊vue中组件的props属性
Nov 02 Vue.js
Vue操作Storage本地化存储
Apr 29 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
php安全之直接用$获取值而不$_GET 字符转义
2012/06/03 PHP
PHP模拟登陆163邮箱发邮件及获取通讯录列表的方法
2015/03/07 PHP
WordPress中查询文章的循环Loop结构及用法分析
2015/12/17 PHP
PHP中如何防止外部恶意提交调用ajax接口
2016/04/11 PHP
PHP实现Session入库/存入redis的方法
2017/05/04 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
使用IE6看老赵的博客 jQuery初探
2010/01/17 Javascript
js 使用form表单select类实现级联菜单效果
2012/12/19 Javascript
JS刷新框架外页面七种实现代码
2013/02/18 Javascript
深入理解JavaScript系列(44):设计模式之桥接模式详解
2015/03/04 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
Bootstrap+jfinal退出系统弹出确认框的实现方法
2016/05/30 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
Vue中如何实现proxy代理
2018/04/20 Javascript
vue操作下拉选择器获取选择的数据的id方法
2018/08/24 Javascript
Angular事件之不同组件间传递数据的方法
2018/11/15 Javascript
详解JavaScript的数据类型以及数据类型的转换
2019/04/20 Javascript
使用Node.js写一个代码生成器的方法步骤
2019/05/10 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
如何区分vue中的v-show 与 v-if
2020/09/08 Javascript
在Vue中使用CSS3实现内容无缝滚动的示例代码
2020/11/27 Vue.js
浅析AST抽象语法树及Python代码实现
2016/06/06 Python
python版微信跳一跳游戏辅助
2018/01/11 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
2018/07/26 Python
Python中turtle库的使用实例
2019/09/09 Python
Python queue队列原理与应用案例分析
2019/09/27 Python
tensorflow2.0与tensorflow1.0的性能区别介绍
2020/02/07 Python
python框架flask入门之路由及简单实现方法
2020/06/07 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
终端业务员岗位职责
2013/11/27 职场文书
2014年生活老师工作总结
2014/12/23 职场文书
感恩父母主题班会
2015/08/12 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书