>
'ok'
>
你好,看我
<
/div>
'ok'
>隱藏<
/div>
"type==='a'"
>
a<
/div>
else-if
="type ==='b'"
>
b<
/div>
else
>
c<
/div>
<
/div>
//建乙個vue例項物件
let vm =
newvue(}
)<
/script>
相同點:v-if與v-show都可以動態控制dom元素顯示隱藏
不同點:v-if顯示隱藏是將dom元素整個新增或刪除,而v-show隱藏則是為該元素新增css–display:none,dom元素還在。但是如果都修改為false後,第乙個div是直接被移除掉了
需要注意的是,當乙個元素預設在css中加了display:none屬性,這時通過v-show修改為true是無法讓元素顯示的。原因是顯示隱藏切換,只是會修改element style為display:""或者display:none,並不會覆蓋掉或修改已存在的css屬性。
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適合頻繁切換。
Vue v if和v show的區別
v if和v show 看起來似乎差不多,當條件不成立時,其所對應的標籤元素都不可見,但是這兩個選項是有區別的 1.v if在條件切換時,會對標籤進行適當的建立和銷毀,而v show則僅在初始化時載入一次,因此v if的開銷相對來說會比v show大。2.v if是惰性的,只有當條件為真時才會真正渲...
v if與v show的區別?
在切換v if塊時,vue.js 有乙個區域性編譯 解除安裝過程,因為v if之中的模板也可能包括資料繫結或子元件。v if是真實的條件渲染,因為它會確保條件塊在切換當中合適地銷毀與重建條件塊內的事件 和子元件。v if也是惰性的 如果在初始渲染時條件為假,則什麼也不做 在條件第一次變為真時才開始區...
v show 與 v if 的區別
1.v if 是真正的條件渲染,預設條件為false時元素不渲染,預設條件為true時元素渲染。條件變為false時元素會銷毀,條件變為true時元素會重新建立。而 v show 只是簡單的去控制元素的css的display屬性。2.v show 有更高的初始渲染開銷 因為不管預設條件為真還是假,都...