Vue入门教程--v-if与v-show属性的使用详解(article:8)

Vue.js 初步入门


属性介绍

v-if :对传入值进行判断,true则向用户显现元素,false则隐藏起来
v-show :对传入值进行判断,true则向用户显现元素,false则隐藏起来

v-if & v-show 使用详解

v-if顾名思义是用来做判断是否让元素显示的属性,而vue也提供了另一种v-show来用不同的方式实现这一功能。

data:{
	hello:"hello vue.js",
	flag:true
}
<div id="container">
	<button type="button" @click="flag=!flag">切换</button>
	<p v-if="flag">{{hello}}</p>
	<p v-show="flag">{{hello}}</p>
</div>

以上的两个p标签的随button点击事件的渲染效果时一样的,是true共同出现,是false共同消失。
但打开控制台就会发现,二者的消失方式却大相径庭。
在这里插入图片描述
显而易见,用v-if修饰的标签值为false时标签被彻底删了,而用v-show修饰的标签值为false是则会修改标签的样式中的display值为none,这就有质的区别了。

Tip

在元素频繁的被显示和隐藏的场景下,v-if属性值为true则会创建元素,为false则会删除元素,这样会产生切换性能消耗。同样,v-show每次对元素的重新渲染也会产生初始渲染消耗。

如果元素需要进行频繁的切换,推荐使用v-show,而尽量不要使用v-if
如果元素几乎不被显示出来让用户看到,则推荐使用v-if


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vue中,v-if和v-show都可以用来控制元素的显示与隐藏。但它们在实现和使用上有一些区别和适用场景的不同。 v-if是通过条件判断来决定元素是否在DOM中渲染的。当条件为真时,元素会被渲染出来,否则会从DOM中移除。这意味着当条件不满足时,相应的组件也不会被实例化。v-if适合在需要频繁切换的情况下使用,因为当条件不满足时,DOM中不会有多余的元素存在,可以节省性能。 v-show则是通过CSS的display属性来控制元素的显示与隐藏。当条件为真时,元素会设置display为默认值,显示在页面上;当条件为假时,元素会设置display为none,隐藏在页面上。v-show适合在需要频繁切换但不需要频繁重新渲染整个组件的情况下使用,因为DOM中始终保留着元素,只是通过CSS来控制显示与隐藏。 所以,v-show比v-if更加轻量级,但在初始渲染时,v-if的性能可能更好。如果需要频繁切换但初始渲染较少的情况,可以使用v-show;如果需要在初始渲染时就确定是否渲染整个组件,可以使用v-if。 总结一下: - v-if是通过条件判断来决定元素是否在DOM中渲染的,适合需要频繁切换和性能要求较高的场景。 - v-show是通过CSS的display属性来控制元素的显示与隐藏的,适合需要频繁切换但不需要频繁重新渲染整个组件的场景。<span class="em">1</span><span class="em">2</span><span class="em">3</span><span class="em">4</span>

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值