v if和v show區別以及使用場景

2021-10-12 02:24:58 字數 891 閱讀 1340

常常使用v-if和v-show。今天總結一下這兩個控制頁面顯隱指令的區別以及使用場景。

區別:

1、控制頁面顯隱方式不同。

v-if是通過控制dom節點是否存在來控制頁面是否顯示。

v-show則是節點已經存在,通過dom節點的display樣式來控制顯隱。display none為不顯示 block為顯示。

2、編譯過程不同。

v-if切換有區域性編譯和解除安裝的過程。切換過程中會適當的銷毀和重構內部的事件監聽和子元件。

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

3、編譯條件不同。

v-if是惰性的,如果初始條件為假,則什麼也不做;只有在條件第一次變為真時才開始區域性編譯。

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

4、效能消耗不同。

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

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

使用場景

基於以上區別,因此,如果需要非常頻繁地切換,則使用 v-show 較好;如果在執行時條件很少改變,則使用 v-if 較好。

總結

v-if判斷是否載入,可以減輕伺服器的壓力,在需要時載入,但有更高的切換開銷;v-show調整dom元素的css的dispaly屬性,可以使客戶端操作更加流暢,但有更高的初始渲染開銷。如果需要非常頻繁地切換,則使用 v-show 較好;如果在執行時條件很少改變,則使用 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是惰性的,如...