v show和v if的區別

2021-10-04 06:54:18 字數 500 閱讀 1443

v-show

v-show 只是在 display: none 和 display: block 之間切換。無論初始條件是什麼都會被渲染出來,後面只需要切換 css,dom 還是一直保留著的。

v-show:false 相當於 給元素加了 display:none,隱藏起來。

v-if

v-if 的話就得說到 vue 底層的編譯了。當屬性初始為 false 時,元件就不會被渲染,直到條件為 true,並且切換條件時會觸發銷毀/掛載元件。

v-if:false 相當於 從頁面上刪除了元素, remove掉了 。

使用場景

所以總的來說 v-show 在初始渲染時有更高的開銷,但是切換開銷很小,更適合於頻繁切換的場景。v-if 切換時開銷更高,更適合不經常切換的場景。

並且基於 v-if 的這種惰性渲染機制,可以在必要的時候才去渲染元件,減少整個頁面的初始渲染開銷。

v if 和 v show的區別

簡單來說,v if 的初始化較快,但切換代價高 v show 初始化慢,但切換成本低 都是動態顯示dom元素 1 手段 v if是動態的向dom樹內新增或者刪除dom元素 v show是通過設定dom元素的display樣式屬性控制顯隱 2 編譯過程 v if切換有乙個區域性編譯 解除安裝的過程,切...

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是惰性的,如...