v if 和 v show的區別

2021-07-27 05:03:52 字數 621 閱讀 5925

簡單來說,v-if 的初始化較快,但切換代價高;v-show 初始化慢,但切換成本低

都是動態顯示dom元素

(1)手段:

v-if是動態的向dom樹內新增或者刪除dom元素;

v-show是通過設定dom元素的display樣式屬性控制顯隱;

(2)編譯過程:

v-if切換有乙個區域性編譯/解除安裝的過程,切換過程中合適地銷毀和重建內部的事件監聽和子元件;

v-show只是簡單的基於css切換;

(3)編譯條件:

v-if是惰性的,如果初始條件為假,則什麼也不做;只有在條件第一次變為真時才開始區域性編譯(編譯被快取?編譯被快取後,然後再切換的時候進行區域性解除安裝);

v-show是在任何條件下(首次條件是否為真)都被編譯,然後被快取,而且dom元素保留;

(4)效能消耗:

v-if有更高的切換消耗;

v-show有更高的初始渲染消耗;

(5)使用場景:

v-if適合運營條件不大可能改變;

v-show適合頻繁切換。

v if 和 v show 的區別

v if 和 v show 在頁面都展示為顯示隱藏 如 v if 為true的時候,div顯示,當為false的時候,div消失,也消失,相當於刪除了div,當為true的時候在重新渲染出來這個div 他是惰性的,只有為真的時候才會被渲染,否則什麼也不做 而且還有v if 和v else div v...

v if 和 v show的區別

v if是動態的向dom樹內新增或者刪除dom元素 v show是通過設定dom元素的display樣式屬性控制顯隱 2 編譯過程 v if切換有乙個區域性編譯 解除安裝的過程,切換過程中合適地銷毀和重建內部的事件監聽和子元件 v show只是簡單的基於css切換 3 編譯條件 v if是惰性的,如...

v if和v show的區別

vue使用過程中,v show和v if必不可少,但是很多人在用的時候都不知道兩者到底有什麼區別,大都是按照習慣去使用,其實兩者是要分場合使用的。v show和v if都是用來顯示隱藏元素,v if還有乙個v else配合使用,兩者達到的效果都一樣,效能方面去有很大的區別。v show v show...