vue中顯隐方法常用兩種,v-show和v-if,但這兩種是有區别的。很多小白用得很随意,傻傻分不清,隻知其然,不知其所以然。
實現本質方法區别
v-show本質就是标簽display設置為none,控制隐藏
v-if是動态的向DOM樹内添加或者删除DOM元素
編譯的區别
v-show其實就是在控制CSS
v-if切換有一個局部編譯/卸載的過程,切換過程中合适地銷毀和重建内部的事件監聽和子組件
編譯的條件
v-show都會編譯,初始值為false,隻是将display設為none,但它也編譯了
v-if初始值為false,就不會編譯了
性能
v-show隻編譯一次,後面其實就是控制css,而v-if不停地銷毀和創建,故v-show性能更好一點。
用法
v-if更靈活
使用場景如果需要非常頻繁地切換,則使用 v-show 較好;如果在運行時條件很少改變,則使用 v-if 較好。(1)對于管理系統的權限列表的展示,這裡可以使用v-if來渲染,如果使用到v-show,對于用戶沒有的權限,在網頁的源碼中,仍然能夠顯示出該權限,如果用v-if,網頁的源碼中就不會顯示出該權限。(在前後台分離情況下,後台不負責渲染頁面的場景。)(2)對于前台頁面的數據展示,這裡推薦使用v-show,這樣可以減少開發中不必要的麻煩。總結v-if和v-show都是用來控制元素的渲染。v-if判斷是否加載,可以減輕服務器的壓力,在需要時加載,但有更高的切換開銷;v-show調整DOM元素的CSS的dispaly屬性,可以使客戶端操作更加流暢,但有更高的初始渲染開銷。如果需要非常頻繁地切換,則使用 v-show 較好;如果在運行時條件很少改變,則使用 v-if 較好。
知識在線,共同探讨,一起搬磚,快樂生活,苦了頭發。喜歡我就關注我吧!喜歡我就關注我吧!喜歡我就關注我
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!