深入理解vue.js中的v-if和v-show


Posted in Javascript onJune 22, 2017

本文主要给大家介绍了关于vue.js中v-if和v-show的相关内容,分享出来供大家参考学习,下面来一起看看详细的介绍:

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: (1)如果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.js中的v-if和v-show 

解决办法:

使用v-show的话,在vue解析之前隐藏DOM的话,尽量在style属性里面设置display的值,不要在css文件中。 <ul v-touch:tap="message=2" style="display: none" v-show="show">

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
JavaScript 字符串连接性能优化
Dec 20 Javascript
JQuery 初体验(建议学习jquery)
Apr 25 Javascript
JS关键字变色实现思路及代码
Feb 21 Javascript
基于jquery编写的横向自适应幻灯片切换特效的实例代码
Aug 06 Javascript
js有序数组的连接问题
Oct 01 Javascript
Highcharts使用简例及异步动态读取数据
Dec 30 Javascript
js动态引入的四种方法
May 05 Javascript
基于jQuery实现的设置文本区域的光标位置
Jun 15 jQuery
为什么说JavaScript预解释是一种毫无节操的机制详析
Nov 18 Javascript
vue实现form表单与table表格的数据关联功能示例
Jan 29 Javascript
基于vue+axios+lrz.js微信端图片压缩上传方法
Jun 25 Javascript
使用Phantomjs和Node完成网页的截屏快照的方法
Jul 16 Javascript
vue如何从接口请求数据
Jun 22 #Javascript
利用node.js制作命令行工具方法教程(一)
Jun 22 #Javascript
关于在vue-cli中使用微信自动登录和分享的实例
Jun 22 #Javascript
详解vue 配合vue-resource调用接口获取数据
Jun 22 #Javascript
vue使用stompjs实现mqtt消息推送通知
Jun 22 #Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
Jun 22 #Javascript
详解用webpack2搭建angular2的项目
Jun 22 #Javascript
You might like
2.PHP入门
2006/10/09 PHP
从零开始学YII2框架(五)快速生成代码工具 Gii 的使用
2014/08/20 PHP
ThinkPHP框架实现导出excel数据的方法示例【基于PHPExcel】
2018/05/12 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
jquery 学习笔记 传智博客佟老师附详细注释
2020/09/12 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
javascript验证只能输入数字和一个小数点示例
2013/10/21 Javascript
firefox下jquery ajax返回object XMLDocument处理方法
2014/01/26 Javascript
js实现弹出窗口、页面变成灰色并不可操作的例子分享
2014/05/10 Javascript
让浏览器DOM元素最后加载的js方法
2014/07/29 Javascript
JQuery菜单效果的两个实例讲解(3)
2015/09/17 Javascript
深入浅析javascript中的作用域(推荐)
2016/07/19 Javascript
微信公众号支付H5调用支付解析
2016/11/04 Javascript
JavaScript简介_动力节点Java学院整理
2017/06/26 Javascript
微信小程序实现的3d轮播图效果示例【基于swiper组件】
2018/12/11 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
2019/09/26 Javascript
jQuery实现点击滚动到指定元素上的方法分析
2020/03/19 jQuery
Vue如何将页面导出成PDF文件
2020/08/17 Javascript
Node.js 中如何收集和解析命令行参数
2021/01/08 Javascript
Python类的多重继承问题深入分析
2014/11/09 Python
使用tensorflow实现AlexNet
2017/11/20 Python
Python实现随机漫步功能
2018/07/09 Python
pandas通过loc生成新的列方法
2018/11/28 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
使用Python的turtle模块画国旗
2019/09/24 Python
爱普生美国官网:Epson美国
2018/11/05 全球购物
档案管理员岗位职责
2013/12/01 职场文书
预备党员思想汇报
2014/01/08 职场文书
初中军训感想300字
2014/03/05 职场文书
给校长的建议书100字
2014/05/16 职场文书
幼儿园六一亲子活动方案
2014/08/26 职场文书
北京故宫的导游词
2015/01/31 职场文书
承诺书范本大全
2015/05/04 职场文书
车辆管理制度范本
2015/08/05 职场文书
php TP5框架生成二维码链接
2021/04/01 PHP
Python基础之常用库常用方法整理
2021/04/30 Python