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 el-upload上传文件的示例代码
Dec 21 Vue.js
Vue实现随机验证码功能
Dec 29 Vue.js
基于vuex实现购物车功能
Jan 10 Vue.js
vue使用过滤器格式化日期
Jan 20 Vue.js
vue3 watch和watchEffect的使用以及有哪些区别
Jan 26 Vue.js
vue-router路由懒加载及实现的3种方式
Feb 28 Vue.js
vue+elementui 实现新增和修改共用一个弹框的完整代码
Jun 08 Vue.js
Vue监视数据的原理详解
Feb 24 Vue.js
浅谈Vue的computed计算属性
Mar 21 Vue.js
vue2的 router在使用过程中遇到的一些问题
Apr 13 Vue.js
vue3不同环境下实现配置代理
May 25 Vue.js
vue3 自定义图片放大器效果的示例代码
Jul 23 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 处理上百万条的数据库如何提高处理查询速度
2010/02/08 PHP
IIS安装Apache伪静态插件的具体操作图文
2013/07/01 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
开启PHP的伪静态模式
2015/12/31 PHP
简单的php+mysql聊天室实现方法(附源码)
2016/01/05 PHP
ThinkPHP发送邮件示例代码
2016/10/08 PHP
JavaScript检查某个function是否是原生代码的方法
2014/08/20 Javascript
简单方法判断JavaScript对象为null或者属性为空
2014/09/26 Javascript
多个js毫秒倒计时同时进行效果
2016/01/05 Javascript
微信小程序购物商城系统开发系列-目录结构介绍
2016/11/21 Javascript
vue-loader教程介绍
2017/06/14 Javascript
js使用原型对象(prototype)需要注意的地方
2017/08/28 Javascript
Vue.js项目模板搭建图文教程
2017/09/20 Javascript
详解Vue中watch的高级用法
2018/05/02 Javascript
在vue项目中引入高德地图及其UI组件的方法
2018/09/04 Javascript
详解vue项目中使用token的身份验证的简单实践
2019/03/08 Javascript
关于JS模块化的知识点分享
2019/10/16 Javascript
vue渲染方式render和template的区别
2020/06/05 Javascript
vue中的计算属性和侦听属性
2020/11/06 Javascript
python 解析XML python模块xml.dom解析xml实例代码
2014/02/07 Python
python对url格式解析的方法
2015/05/13 Python
python中子类继承父类的__init__方法实例
2016/12/15 Python
Python推导式简单示例【列表推导式、字典推导式与集合推导式】
2018/12/04 Python
python 对任意数据和曲线进行拟合并求出函数表达式的三种解决方案
2020/02/18 Python
德国著名廉价网上药店:Shop-Apotheke
2017/07/23 全球购物
HomeAway的巴西品牌:Alugue Temporada
2018/04/10 全球购物
机械工程师的岗位职责
2013/11/17 职场文书
小学生国庆演讲稿
2014/09/05 职场文书
银行党员批评与自我批评
2014/10/15 职场文书
老干部工作汇报材料
2014/10/28 职场文书
2015年招聘工作总结
2014/12/12 职场文书
2014企业年终工作总结
2014/12/23 职场文书
继承权公证书范本
2015/01/23 职场文书
幼儿园大班教师评语
2019/06/21 职场文书
能用CSS实现的就不要麻烦JavaScript了
2021/10/05 HTML / CSS
《现实主义勇者的王国再建记》第三弹OST全曲试听片段公开
2022/04/04 日漫