? ? ? ? 問題:v-if和v-show我們都經(jīng)常用來控制某一部分內(nèi)容的顯示與隱藏,那么其具體區(qū)別是什么呢?
1.v-if
v-if是通過增添和刪除DOM來控制元素的顯示與隱藏的
- 當(dāng)判斷值為true時在DOM樹中加入該DOM元素
- 當(dāng)判斷值為false時在DOM樹中刪除該DOM元素
?2.v-show
v-show是通過改變該元素css樣式中的display屬性值來控制元素的顯示隱藏的
- 當(dāng)指令后的判斷值為true時該屬性的值為block,此時元素顯示
- 當(dāng)指令后的判斷值為false時該屬性的值為none,此時元素隱藏
?3.兩者的區(qū)別和使用場景
(1)區(qū)別
????????通過v-show來控制顯示隱藏的元素是始終渲染在該HTML的DOM樹中的,只是通過改變其display屬性的值來控制元素的顯示隱藏的,而通過v-if來控制元素的顯示隱藏是真正意義上的添加或刪除該DOM元素
(2)使用場景文章來源:http://www.zghlxwxcb.cn/news/detail-435613.html
? ? ? ? 因其原理不同,故而因在不同的場景去使用,v-show是通過css屬性來控制的元素顯示隱藏,故而初次渲染的消耗要大于v-if,但后續(xù)的控制消耗則小很多,v-if每次的改變都要去操作DOM元素,所以當(dāng)我們需要較為頻繁的去控制元素時應(yīng)該使用v-show,若切換次數(shù)很少或者初次判斷顯示多者中的一個時則應(yīng)該使用v-if文章來源地址http://www.zghlxwxcb.cn/news/detail-435613.html
到了這里,關(guān)于vue中v-if和v-show的區(qū)別和使用場景的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!