vue 条件渲染

本文详细讲解了v-if和v-show在Vue中条件渲染的原理,比较了两者在DOM操作上的差异,并通过实例演示如何利用v-show实现动态切换样式。此外,讨论了v-if、v-else-if和v-else的组合使用,以及模板在避免代码重复中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

条件渲染:简单的说你符合了某些条件就渲染某些东西

 

要点:

因为v-if把元素给暴力删除了,但v-show只通过改变display把元素隐藏了

也就是说v-show的实现底层就是修改display

比如动态此时的a就能实现一会儿隐藏一会儿显示了

  v-if使用时整个div都消失了并不是display改变了

做一个小案例

 点击事件让n++

初始值n为0当n为 1 2 3 时分别显示对应样式

用v-show:"n==1" v-show:"n==2" v-show:"n==3"实现

后面的每个都会判断一下 

验证:

 v-show 一般样式渲染变化的很频繁则使用v-show因为,它只改变display

v-if 不适用于样式渲染变化频繁,因为它会直接增加和删除dom节点如果很频繁会影响效率

v- else-if 与c++中的类似如果v-if或者前面有符合的则不会进行v-else-if的渲染,直接会跳到v-else-if之后的语句

v-else 与c类似

如果要使用
v-if v-else-if v-else 这个结构要紧紧的在一起不能分开

比如:

 

 因为只有有v-if 才有v-else-if 才有 v-else

注:v-show没有 else 只有 v-show

案例二 当n为1时同时展示三个div

 太重复了!

解决方法一:

 解决方法二:使用template但template能和v-if使用不能和v-show使用

template当在页面上显示时会自动去掉,但会保留其中元素的样式

 总结:

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值