vue的v-show问题

v-show是属于重绘呢还是回流呢?v-show是属于重绘呢还是回流呢?

vue指令之v-if和v-show的区别_码农的博客-CSDN博客 自我纠错之v-if和v-show的区别前言最近打算抓住金三银四的尾巴,找一个刚合适自身发展的平台,看面试题的时候看到这个问题,毕竟不是刚入行的时候了,知道了区别也想看看为什么会有这样的区别,这样的区别怎样合理的运用才能更好地发挥着两个指令该有特长。用途v-if和v-show都是vue内置指令,常用于操纵目标元素的显示隐藏。(和opacity,visibility不同的是这两个属性使目标元素隐藏之后,目标元素还会占用之前在文档流占用的位置)原理v-if:通过设置true/false来删除和创建目 https://blog.csdn.net/weixin_43882226/article/details/116304865

什么是回流
当render tree中的一部分(或全部)因为元素的规模尺寸,布局,隐藏等改变而需要重新构建,这就称为回流(reflow)。每个页面至少需要一次回流,就是在页面第一次加载的时候,这时候是一定会发生回流的,因为要构建render tree。在回流的时候,浏览器会使渲染树中受到影响的部分失效,并重新构造这部分渲染树,完成回流后,浏览器会重新绘制受影响的部分到屏幕中,该过程称为重绘。
什么是重绘
当render tree中的一些元素需要更新属性,而这些属性只是影响元素的外观,风格,而不会影响布局的,比如background-color,则就称为重绘。
区别:
回流必将引起重绘,而重绘不一定会引起回流。
比如:只有颜色改变的时候就只会发生重绘而不会引起回流
当页面布局和几何属性改变时就需要回流。
比如:添加或者删除可见的DOM元素,元素位置改变,元素尺寸改变——边距、填充、边框、宽度和高度,内容改变时都需要回流。

v-show 属于重绘。
简述回流和重绘,简单的表达_lzfengquan的博客-CSDN博客 Web前端开发:什么是页面重回(repaints)与回流(reflow)回流(reflow)是更明显的一种改变,可以理解为渲染树需要重新计算。就相当于重新卸载和加载一样 这样就是发生回流一定有重绘的发生。也可以利用v-if来理解 。v-if相当于渲染不渲染。不占位置或者理解为画画,你现在把画扔了重新绘画一张。重绘(repaints)是一个元素外观的改变所触发的浏览器行为,例如改变vidibility、outline、背景色等属性。浏览器会根据元素的新属性重新绘制,使元素呈现新的外观。重绘不会带来重 https://blog.csdn.net/lzfengquan/article/details/107176911

v-show是利用css显示隐藏,v-if是直接移除。和创建。