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

因为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当在页面上显示时会自动去掉,但会保留其中元素的样式

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





