这是腾讯2020校招面试遇到的问题1.可见性:隐藏;2.显示:无;相同点:都是隐藏标签,对应的标签还是DOM结构不同点:标签设置为display:none后,不会占用标签原来的位置,会触发reflow。label设置visibility:hidden后,仍然占据原来的位置,会触发重绘。联想:v-if和v-show的相同点:都可以控制标签的可见性。1、体会本质方法的区别。v-if是动态地向DOM树中添加或删除DOM元素。v-show的本质是利用标签的display属性,通过visibility和none来控制显示和隐藏。在DOM中无法获取到v-if="false"在DOM中仍然可以获取到标签v-show=false。2.编译的区别。v-show实际上是在控制cssv-if的切换。有部分编译/卸载过程,切换过程中适当销毁的重建内部事件监听和子组件3.编译条件v-show会被编译,初始值为false,设置display为none即可,但是它也编译了v-如果初始值为false,则不会编译4.性能v-show只编译了一次,后面其实是为了控制css,v-if一直在破坏和创建,所以v-show性能更好3.opacity:0;CSS3属性,设置0可以让一个元素完全透明4.position:absolute;设置大左负值定位,使元素定位在可视区域之外
