1,v-if能夠控制是否生成vnode,也就間接控制了是否生成對應的dom。當v-if為true時, 會生成對應的vnode,並生成對應的dom元素;當其為false時, 不會生成對應的vnode,自然不會生成任何的dom元素。
2,v-show始終會生成vnode,也就間接導致了始終生成dom.它只是控制dom的display屬性,當v- show為true時,不做任何處理;當其為false時,生成的dom的display屬性為none。
3,使用v-if可以有效的減少樹的節點和渲染量,但也會導致樹的不穩定;而使用v-show可以保持樹的穩定,但不能減少樹的節點和渲染量。
4,因此,在實際開發中,顯示狀態變化頻繁的情況下應該使用v- show,以保持樹的穩定;顯示狀態變化較少時應該使用v-if,以減少樹的節點和渲染量。
vue面試題 v if 和v show的區別
面試前端時,涉及到vue,v if和v show幾乎是必問的一道題,所以記錄一下。首先我們先來看一段 lang en charset utf 8 titletitle src vue dev dist vue.js script head h2 h2 div newvue script body h...
v if 和 v show 有什麼區別?
這次咋們講講v if 和v show之間的區別?它們在使用的時候究竟有什麼不同之處呢 簡單來說 v if的初始化快,v show的初始化慢 但是它們的共同點是 都是動態顯示dom元素。v if 若值為false,那麼頁面將不會有這個html標籤生成,v if只有當滿足條件是才會編譯。v show 不...
淺解v if 和 v show 有什麼區別
簡單來說,v if 的初始化較快,但切換代價高 v show 初始化慢,但切換成本低 都是動態顯示dom元素 1 手段 v if是動態的向dom樹內新增或者刪除dom元素 v show是通過設定dom元素的display樣式屬性控制顯隱 2 編譯過程 v if切換有乙個區域性編譯 解除安裝的過程,切...