【面试常考】v-if与v-show的区别

在Vue中,实现条件渲染有两种指令,v-if与v-show

1.本质区别

  • vue-show本质就是通过设置标签属性display为none,来控制隐藏
  • vue-if是动态的向DOM树内添加或者删除DOM元素

2.性能

  • v-show只编译一次,后面的每次渲染其实就是控制css,开销较小

  • v-if会根据值的真假不停的销毁和创建DOM,开销较大

    综上,故v-show性能更好一点

应用场景

  • v-show:适用于频繁切换的场景
  • v-if:适合于不频繁切换页面元素的场景

4.举例说明

  • v-show用例代码如下:
    在这里插入图片描述

  • 浏览器中显示如下:我们可以看到v-show,不过就是根据变量值的真假来给标签style属性添加display:none.来控制元素隐藏,但元素并未被销毁
    在这里插入图片描述

  • v-if用例如下:
    -在这里插入图片描述

  • v-if将不满足条件为真的元素彻底销毁
    在这里插入图片描述

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值