Unterschiede: 1. „v-if“ fügt DOM-Elemente dynamisch zum DOM-Baum hinzu, „v-show“ steuert die Sichtbarkeit durch Festlegen des Anzeigestilattributs von DOM-Elementen; Die Kompilierungsbedingungen sind unterschiedlich. 4. Die Umstellungskosten von „v-if“ sind hoch, die anfänglichen Renderingkosten von „v-show“ sind hoch usw.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Vue-Version 2.9.6, DELL G3-Computer.
v-if
-Direktive und v-show
-Direktive können DOM
basierend dynamisch steuern auf dem Wert Das Codeelement wird häufig verwendet v-if
und v-show
Die Verantwortung Der Zweck der Anweisung besteht darin, als Ausdruck zu fungieren und ein spezielles Verhalten auf DOM
anzuwenden, wenn sich der Wert ändert. v-if
指令与v-show
指令都可以根据值动态控制DOM
元素显示隐藏,v-if
和v-show
属于Vue
的内部常用的指令,指令的职责是当表达式的值改变时把某些特殊的行为应用到DOM
上。
描述
v-if
v-if
指令用于条件性地渲染一块内容,这块内容只会在指令的表达式返回truthy
值的时候被渲染。
<div v-if="show">show</div> <div v-else>hide</div>
v-show
v-show
指令用法大致一样,不同的是带有v-show
指令的元素始终会被渲染并保留在DOM
中,v-show
只是简单地切换元素的CSS property display
。
<div v-show="show">show</div>
区别
实现方式: 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
v-if
-Direktive wird verwendet, um einen Teil davon bedingt zu rendern content , dieser Inhalt wird nur gerendert, wenn der Ausdruck der Direktive einen truthy
-Wert zurückgibt. 🎜rrreee🎜🎜v-show🎜🎜🎜 Die Verwendung der v-show
-Direktive ist ungefähr gleich, der Unterschied besteht darin, dass Elemente mit der v-show
-Direktive immer verwendet werden gerendert und beibehalten werden. In DOM
schaltet v-show
einfach die CSS-Eigenschaftsanzeige
des Elements um. 🎜rrreee🎜🎜Unterschied🎜🎜v - if
fügt DOM
-Elemente dynamisch zum DOM
-Baum hinzu oder löscht sie und v-show
legt DOM
fest Das display-Stilattribut des -Elements steuert die Sichtbarkeit. 🎜🎜v-if
-Wechsel hat einen teilweisen Kompilierungs- und Deinstallationsprozess. Während des Wechselprozesses werden interne Ereignis-Listener und Unterkomponenten ordnungsgemäß zerstört und neu erstellt, v -show ist nur ein einfacher Schalter, der auf <code>CSS
basiert. 🎜🎜v-if
ist faul. Wenn die Anfangsbedingung falsch ist, tun Sie nichts und starten Sie die teilweise Kompilierung erst, wenn die Bedingung zum ersten Mal wahr wird, v-show
wird unter allen Bedingungen kompiliert und dann zwischengespeichert, und das DOM
-Element bleibt erhalten. 🎜🎜v-if
hat höhere Wechselkosten und v-show
hat höhere anfängliche Renderingkosten. 🎜🎜v-if
eignet sich für Situationen, in denen sich die Bedingungen wahrscheinlich nicht ändern, und v-show
eignet sich für Situationen, in denen sich die Bedingungen häufig ändern . 🎜🎜🎜🎜Verwandte Empfehlungen: „🎜vue.js Tutorial🎜“🎜Das obige ist der detaillierte Inhalt vonWas ist der Unterschied zwischen v-show und v-if in VueJS?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!