深入解析v-if与v-show的区别

深入解析v-if与v-show的区别

vue提供了两种条件渲染的方式 v-ifv-show,本文深入解析两者的区别。

1. 实现原理不一样

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

v-show不管初始条件是什么,元素总是会被渲染,并且只是简单地基于 CSS 进行切换。即通过设置元素的display:none,达到显示隐藏的作用。

2. 开销不一样

如果频繁的切换元素的状态,v-if的开销会比较大,因为它涉及到条件块内各组件的重建和销毁,而v-show只是切换元素的css,v-show的开销比较小。

3. 适用场景不一样

如果频繁的切换元素的状态,v-if的开销会比较大,,v-show的开销比较小。因此,v-show更适合频繁切换的场景。

当然,v-show只是设置了元素的display为none,元素dom结构还是在那里的,如果你不想让其他人看到这些dom,需要使用v-if。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值