您好,登錄后才能下訂單哦!
這篇文章主要介紹了vuejs中v-show和v-if的區(qū)別有哪些,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
區(qū)別:1、“v-if”是動(dòng)態(tài)的向DOM樹(shù)內(nèi)添加或者刪除DOM元素,“v-show”是通過(guò)設(shè)置DOM元素的display樣式屬性控制顯隱;2、編譯過(guò)程不同;3、編譯條件不同;4、“v-if”的切換消耗高,“v-show”的初始渲染消耗高等等。
本教程操作環(huán)境:windows7系統(tǒng)、vue2.9.6版,DELL G3電腦。
v-if
指令與v-show
指令都可以根據(jù)值動(dòng)態(tài)控制DOM
元素顯示隱藏,v-if
和v-show
屬于Vue
的內(nèi)部常用的指令,指令的職責(zé)是當(dāng)表達(dá)式的值改變時(shí)把某些特殊的行為應(yīng)用到DOM
上。
描述
v-if
v-if
指令用于條件性地渲染一塊內(nèi)容,這塊內(nèi)容只會(huì)在指令的表達(dá)式返回truthy
值的時(shí)候被渲染。
<div v-if="show">show</div> <div v-else>hide</div>
v-show
v-show
指令用法大致一樣,不同的是帶有v-show
指令的元素始終會(huì)被渲染并保留在DOM
中,v-show
只是簡(jiǎn)單地切換元素的CSS property display
。
<div v-show="show">show</div>
區(qū)別
實(shí)現(xiàn)方式: v-if
是動(dòng)態(tài)的向DOM
樹(shù)內(nèi)添加或者刪除DOM
元素,v-show
是通過(guò)設(shè)置DOM
元素的display
樣式屬性控制顯隱。
編譯過(guò)程: v-if
切換有一個(gè)局部編譯卸載的過(guò)程,切換過(guò)程中合適地銷毀和重建內(nèi)部的事件監(jiān)聽(tīng)和子組件,v-show
只是簡(jiǎn)單的基于CSS
切換。
編譯條件: v-if
是惰性的,如果初始條件為假,則什么也不做,只有在條件第一次變?yōu)檎鏁r(shí)才開(kāi)始局部編譯, v-show
是在任何條件下都被編譯,然后被緩存,而且DOM
元素保留。
性能消耗: v-if
有更高的切換消耗,v-show
有更高的初始渲染消耗。
使用場(chǎng)景: v-if
適合條件不太可能改變的情況,v-show
適合條件頻繁切換的情況。
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“vuejs中v-show和v-if的區(qū)別有哪些”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。