v-if 和 v-show的区别

136 阅读1分钟

v-ifv-show的区别

答:v-if能够控制是否生成vnode,也就间接控制了是否生成对应的``dom。当v-iftrue时,会生成对应的vnode,并生成对应的dom元素;当其为false时,不会生成对应的vnode,自然不会生成任何的dom元素。

v-show会始终生成v-node,也就间接导致了始终生成dom,它只是控制domdisplay属性,当v-showtrue时,不做任何处理;当其为false时,生成的domdisplay属性为none。

使用v-if可以有效的减少树的结点和渲染量,但也会导致树的不稳定;而使用v-show可以保持树的稳定,但不能减少树的结点和渲染量。

因此,在实际开发中,显示状态变化频繁的情况下应该使用v-show,以保持树的稳定;显示状态较少时应使用v-if,以减少树的结点和渲染量。