vue语法中v-show和v-if有什么不同

2024年06月14日 建站教程

vue语法v-showv-if都是根据条件显示的意思,那么v-showv-if有什么不同呢?下面web建站小编给大家详细介绍一下它们的不同之处!

v-show指令用法大致一样,不同的是带有v-show指令的元素始终会被渲染并保留在DOM中,v-show只是简单地切换元素的CSS property display。

v-if指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回truthy值的时候被渲染。

v-if与v-show的区别

实现方式: v-if是动态的向DOM树内添加或者删除DOM元素,v-show是通过设置DOM元素的display样式属性控制显隐。

编译过程: v-if切换有一个局部编译卸载的过程,切换过程中合适地销毁和重建内部的事件监听和子组件,v-show只是简单的基于CSS切换。

编译条件: v-if是惰性的,如果初始条件为假,则什么也不做,只有在条件第一次变为真时才开始局部编译, v-show是在任何条件下都被编译,然后被缓存,而且DOM元素保留。

性能消耗: v-if有更高的切换消耗,v-show有更高的初始渲染消耗。

使用场景: v-if适合条件不太可能改变的情况,v-show适合条件频繁切换的情况。

本文链接:http://so.lmcjl.com/news/6549/

展开阅读全文
相关内容