Vue中v-if和v-show的区别及其建议应用场景

二者区别

1、渲染方式:v-if是通过控制DOM节点的存在与否来控制元素的显隐;

v-show是通过设置DOM元素的display样式,block为显示,none为隐藏;

2、编译过程:v-if切换具有一个局部编译卸载的过程,切换过程中销毁重建内部的所有事件监听和子组件;

v-show只是简单的基于CSS切换;

3、编译条件:v-if是惰性的,倘若其初始值false那么其将不作为有且只有,在条件第一次变为true时才开始局部编译并被缓存,值再次发生改变为false时,将进行局部卸载;

v-show是在任何条件被编译,然后被缓存,而且DOM元素会被保留;

4、性能消耗:v-if在切换时有较高的消耗;v-show有更高的初始渲染消耗。

 

应用场景

v-if:建议应用在不频繁切换的局部,一般在视图之间的切换,比如:弹出窗等

v-show:建议应用在较为频繁的局部,比如:文字、按钮等。

 

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值