vue中v-if與v-show區別


vue中顯隱方法常用兩種,v-show和v-if,但這兩種是有區別的。

v-if

  v-if 控制元素顯示或隱藏是把dom元素整個的渲染或者刪除,如果刪除,也就是頁面中不存在這個dom元素,以此達到隱藏的效果;

    所以v-if在每次切換的時候都會重新創建或者銷毀元素,有較高的切換性能消耗;

  而且v-if是惰性的,如果在初始渲染時條件為假,那就什么也不做,直到條件第一次變為真時,需要渲染時才會開始渲染條件塊

  

v-show

  v-show則是無論你的初始條件是什么,元素都會被渲染,就是dom元素始終是存在的,v-show只是通過控制css中的display屬性來控制他的顯示或隱藏;

  它擁有比較高的初始渲染消耗;

 

使用場景

  如果元素需要進行比較頻繁的切換的話,推薦使用v-show,

  如果很少用到切換,或者元素可能永遠都不會顯示出來的話,就使用v-if

 

注意:如果已經在css中明確寫出display : none 的話,在v-if中就算設置v-if為true也是不能讓元素顯示的,因為他沒辦法覆蓋或者修改掉css里面的

    display : none屬性,他只是會修改element style為display:""或者display:none

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM