前端学习日记--- v-show 和 v-if 在控制模板显示方面的区别

通俗地解释一下 v-show 和 v-if 在控制模板显示方面的区别:

  1. v-if:

    • v-if 是一个真正的条件渲染指令,它会根据表达式的值来决定是否渲染元素。
    • 如果表达式的值为 false,则该元素不会被渲染到 DOM 中。
    • 当条件改变时,Vue 会高效地插入或移除元素,并触发相应的生命周期钩子。
    • 适用于需要频繁切换显示/隐藏的场景,因为它不会渲染隐藏的元素,可以减少 DOM 操作。
  2. v-show:

    • v-show 也是根据表达式的值来决定是否显示元素,但它的实现方式不同。
    • 当表达式的值为 false 时,v-show 会给元素添加 display:none 的 CSS 样式,使其隐藏。
    • 当条件改变时,Vue 只是切换 CSS 样式,不会触发元素的挂载/卸载过程。
    • 适用于需要频繁切换显示/隐藏的场景,因为它不会销毁和重建 DOM 元素,效率更高。

总的来说,v-if 是真正的条件渲染,而 v-show 只是切换 CSS 样式。如果需要频繁切换显示/隐藏,使用 v-show 会更高效;如果只需要偶尔切换,使用 v-if 会更合适。开发者需要根据具体需求来选择使用哪一种指令。

口诀:多瘦(show)少衣(if)

v-if:控制元素存在和不存在

v-show:控制元素隐藏和不隐藏

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值