1.先看看效果
image.png
2.来看看代码
image.png
3.逐个击破
(1)v-show:控制元素的display属性是否为none
image.png
(2)v-if:控制是否在页面上添加或删除dom元素
image.png
(3)opacity: 0;:css属性,控制元素的透明度
image.png
(4)display: none;:css属性,控制dom元素是否显示
image.png
4.性能上:
(1)两者都会导致页面的重绘和重排,但v-show只是改变dom的css,而v-if控制的是添加和删除dom,所以v-if在重绘重排前还进行了添加或删除dom元素的操作。
(2)需要多次切换某个元素的显示或隐藏时使用v-show
(3)某个元素在渲染后就一直存在或隐藏时使用v-if
(4)opacity也可以隐藏元素,但它本身的作用并非用来隐藏元素而是设置元素的透明度,并且opacity为0时,该dom同样占用着空间。


野望
18 声望4 粉丝

一个为了写出漂亮代码而努力的前端人