vue中v-show和v-if的异同及v-show用法


Posted in Javascript onJune 06, 2019

一、官方解释:

1.v-if 是“真正”的条件渲染,因为它会确保在切换过程中条件块内的事件监听器和子组件适当地被销毁和重建。

2.v-if 也是惰性的:如果在初始渲染时条件为假,则什么也不做——直到条件第一次变为真时,才会开始渲染条件块。

3.相比之下,v-show 就简单得多——不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。

4.一般来说,v-if 有更高的切换开销,而 v-show 有更高的初始渲染开销。因此,如果需要非常频繁地切换,则使用 v-

show 较好;如果在运行时条件很少改变,则使用 v-if 较好。

二、个人理解:

1.相同点:v-show和v-if都能控制元素的显示和隐藏。

2.不同点:

•实现本质方法不同 ◦v-show本质就是通过设置css中的display设置为none,控制隐藏

◦v-if是动态的向DOM树内添加或者删除DOM元素

•编译的区别 ◦v-show其实就是在控制css
◦v-if切换有一个局部编译/卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件

•编译的条件 ◦v-show都会编译,初始值为false,只是将display设为none,但它也编译了
◦v-if初始值为false,就不会编译了

•性能 ◦v-show只编译一次,后面其实就是控制css,而v-if不停的销毁和创建,故v-show性能更好一点。
◦注意点:因为v-show实际是操作display:" "或者none,当css本身有display:none时,v-show无法让显示
◦总结:如果要频繁切换某节点时,使用v-show(无论true或者false初始都会进行渲染,此后通过css来控制显示隐藏,因此切换开销比较小,初始开销较大),如果不需要频繁切换某节点时,使用v-if(因为懒加载,初始为false时,不会渲染,但是因为它是通过添加和删除dom元素来控制显示和隐藏的,因此初始渲染开销较小,切换开销比较大)

vue指令之v-show的用法

1、判断谋个元素是否显示或隐藏

<el-button v-show="list.power == 1" @click="toUpload" class="toUpload" type="primary">去上传<i class="el-icon-upload el-icon--right"></i></el-button>

通过接口里的参数list.power是否等于1,如果等于1,则为“true”,否则为“false”,然后v-show指令,等于true的时候显示,false的时候隐藏。

2、三目运算符判断

<a class="warn" v-show="true ? item.ai != null : item.ai == null" :href="'http://172.168.80.149:14081/gateway/upload/upload/downloadFile?url='+item.urlai">AI</a>

其实这个也可以简写成第一种形式

<a class="warn" v-show="!item.ai == null" :href="'http://172.168.80.149:14081/gateway/upload/upload/downloadFile?url='+item.urlai">AI</a>

这样更简单哦

总结

以上所述是小编给大家介绍的vue中v-show和v-if的异同及v-show用法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
JQuery动态添加和删除表格行的方法
Mar 09 Javascript
jQuery实现仿美橙互联两级导航菜单的方法
Mar 09 Javascript
JavaScript的Backbone.js框架的一些使用建议整理
Feb 14 Javascript
动态更新highcharts数据的实现方法
May 28 Javascript
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
Dec 14 Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 Javascript
Angular.Js中过滤器filter与自定义过滤器filter实例详解
May 08 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
深入理解vue2.0路由如何配置问题
Jul 18 Javascript
关于vue中的ajax请求和axios包问题
Apr 19 Javascript
JavaScript回调函数callback用法解析
Jan 14 Javascript
elementui更改el-dialog关闭按钮的图标d的示例代码
Aug 04 Javascript
vue中的过滤器实例代码详解
Jun 06 #Javascript
Vue响应式原理Observer、Dep、Watcher理解
Jun 06 #Javascript
原生js通过一行代码实现简易轮播图
Jun 05 #Javascript
解决IOS端微信H5页面软键盘弹起后页面下方留白的问题
Jun 05 #Javascript
详解vue父子组件关于模态框状态的绑定方案
Jun 05 #Javascript
JS中实现浅拷贝和深拷贝的代码详解
Jun 05 #Javascript
优雅的处理vue项目异常实战记录
Jun 05 #Javascript
You might like
虹吸式咖啡探讨–研磨
2021/03/03 冲泡冲煮
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
权威JavaScript 中的内存泄露模式
2007/08/13 Javascript
javascript 实现子父窗体互相传值的简单实例
2014/02/17 Javascript
Jquery api 速查表分享
2015/01/12 Javascript
深入浅析javascript立即执行函数
2015/10/23 Javascript
第二次聊一聊JS require.js模块化工具的基础知识
2016/04/17 Javascript
使用Node.js给图片加水印的方法
2016/11/15 Javascript
基于jQuery实现的幻灯图片切换
2016/12/02 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
vue页面加载闪烁问题的解决方法
2018/03/28 Javascript
javaScript强制保留两位小数的输入数校验和小数保留问题
2018/05/09 Javascript
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
JS实现商品橱窗特效
2020/01/09 Javascript
js 图片懒加载的实现
2020/10/21 Javascript
浅谈Vue使用Elementui修改默认的最快方法
2020/12/05 Vue.js
跨平台python异步回调机制实现和使用方法
2013/11/26 Python
Python生成器(Generator)详解
2015/04/13 Python
python用10行代码实现对黄色图片的检测功能
2015/08/10 Python
Python网络爬虫项目:内容提取器的定义
2016/10/25 Python
Python极简代码实现杨辉三角示例代码
2016/11/15 Python
python selenium执行所有测试用例并生成报告的方法
2019/02/13 Python
Pandas 重塑(stack)和轴向旋转(pivot)的实现
2019/07/22 Python
PyQt5 closeEvent关闭事件退出提示框原理解析
2020/01/08 Python
Django框架获取form表单数据方式总结
2020/04/22 Python
Python实现冒泡排序算法的完整实例
2020/11/04 Python
Spartoo比利时:欧洲时尚购物网站
2017/12/06 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
英国信箱在线鲜花速递公司:Bloom & Wild
2019/03/10 全球购物
10条PHP编程习惯
2014/05/26 面试题
微笑面对生活演讲稿
2014/05/13 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
助学感谢信范文
2015/01/21 职场文书
销售经理工作检讨书
2015/02/19 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
毕业论文答辩开场白和结束语
2015/05/27 职场文书