面试篇之v-if与v-show

一、display:none与visibility:hidden的区别

1、display:none是彻底消失,从文档流中消失,浏览器也不会解析该元素

2、visibility:hidden是在视觉上消失了,可以理解为透明度为0的效果,在文档流中还继续占位

3、display:none不会被子元素继承

4、visibility:hidden会被子元素继承

***display:none只会隐藏元素,但不会从DOM中删除

visibility:hidden会渲染标签和里面的内容,而display:none不会渲染

二、v-if与v-show的区别

1、v-if控制的是元素在结构中的创建与销毁

v-show控制的是display属性中的属性值为none还是block

2、控制手段的区别

v-show隐藏只是将元素添加display:none,dom元素依旧存在

v-if是将dom元素整个添加或删除

3、编译过程的区别

v-if切换有一个局部编译卸载的过程,切换过程合适的销毁与重建内部的事件监听和子组件;v-show只是简单的基于css的切换

4、使用场景

v-show适用于需要非常频繁地切换的地方

v-if适用于在运行时条件很少改变的情况

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值