深入理解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 IE 浏览器判定代码
Mar 21 Javascript
Javascript显示和隐藏ul列表的方法
Jul 15 Javascript
JS实现网页游戏中滑块响应鼠标点击移动效果
Oct 19 Javascript
jquery ztree实现模糊搜索功能
Feb 25 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
Jun 07 Javascript
JS使用正则表达式实现关键字替换加粗功能示例
Aug 03 Javascript
AngularJs html compiler详解及示例代码
Sep 01 Javascript
详解MVC如何使用开源分页插件(shenniu.pager.js)
Dec 16 Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
vue.js实现左边导航切换右边内容
Oct 21 Javascript
VUE页面中通过双击实现复制表格中内容的示例代码
Jun 11 Javascript
解决ant Design中this.props.form.validateFields未执行的问题
Oct 27 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
一个简单实现多条件查询的例子
2006/10/09 PHP
php中截取字符串支持utf-8
2007/01/18 PHP
PHP实现的一致性哈希算法完整实例
2015/11/14 PHP
php微信高级接口调用方法(自定义菜单接口、客服接口、二维码)
2016/11/28 PHP
php注册审核重点解析(数据访问)
2017/05/23 PHP
jQuery选择器简明总结(含用法实例,一目了然)
2014/04/25 Javascript
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
仿百度联盟对联广告实现代码
2014/08/30 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
基于JavaScript实现根据手机定位获取当前具体位置(X省X市X县X街道X号)
2015/12/29 Javascript
JS常见问题之为什么点击弹出的i总是最后一个
2016/01/05 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
Bootstrap和Java分页实例第二篇
2016/12/23 Javascript
JS中静态页面实现微信分享功能
2017/02/06 Javascript
vue2.0开发入门笔记之.vue文件的生成和使用
2017/09/19 Javascript
vue中简单弹框dialog的实现方法
2018/02/26 Javascript
在Angular中使用JWT认证方法示例
2018/09/10 Javascript
详解CommonJS和ES6模块循环加载处理的区别
2018/12/26 Javascript
微信小程序实现跳转的几种方式总结(推荐)
2019/04/24 Javascript
初步介绍Python中的pydoc模块和distutils模块
2015/04/13 Python
Python编程实现输入某年某月某日计算出这一天是该年第几天的方法
2017/04/18 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
利用python模拟实现POST请求提交图片的方法
2017/07/25 Python
Python FTP两个文件夹间的同步实例代码
2018/05/25 Python
在python环境下运用kafka对数据进行实时传输的方法
2018/12/27 Python
python+selenium实现QQ邮箱自动发送功能
2019/01/23 Python
在pytorch中对非叶节点的变量计算梯度实例
2020/01/10 Python
python对XML文件的操作实现代码
2020/03/27 Python
使用gunicorn部署django项目的问题
2020/12/30 Python
boostrap modal 闪现问题的解决方法
2020/09/01 HTML / CSS
三年大学生活自我鉴定
2014/01/21 职场文书
乡镇干部十八大感言
2014/02/17 职场文书
2014年有孩子的离婚协议书范本
2014/10/08 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
检讨书范文大全
2015/05/07 职场文书
python使用shell脚本创建kafka连接器
2022/04/29 Python