vue使用v-if v-show頁(yè)面閃爍,div閃現(xiàn)的解決方法
在頁(yè)面層次結(jié)構(gòu),數(shù)據(jù)較多的時(shí)候,用v-if或者v-show就會(huì)出現(xiàn)div閃現(xiàn),或者部分閃爍的結(jié)果。
可以在根元素添加v-cloak來(lái)解決,并且設(shè)置它的樣式即可。
代碼只是示例,還需要自己修改測(cè)試。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
<style> /* 在引入的css文件中寫(xiě)入這個(gè)*/
[v-cloak]
{
display: none;
}
</style>
</head>
<body>
<!-- 添加這個(gè)v-cloak -->
<div id='app' v-cloak>
<div v-if="isShow">
content
</div>
</div>
</body>
</html>
<script>
new Vue(
{
el: '#app',
data ()
{
return {
isShow: false
}
}
})
</script>
下面看下vue中v-if和v-show的區(qū)別
相同點(diǎn)
兩者都是在判斷DOM節(jié)點(diǎn)是否要顯示。
不同點(diǎn)
1、實(shí)現(xiàn)方式
v-if是根據(jù)后面數(shù)據(jù)的真假值判斷直接從Dom樹(shù)上刪除或重建元素節(jié)點(diǎn)
v-show只是在修改元素的css樣式,也就是display的屬性值,元素始終在Dom樹(shù)上。123
2、編譯過(guò)程
v-if切換有一個(gè)局部編譯/卸載的過(guò)程,切換過(guò)程中合適地銷(xiāo)毀和重建內(nèi)部的事件監(jiān)聽(tīng)和子組件;
v-show只是簡(jiǎn)單的基于css切換;123
3、編譯條件
v-if是惰性的,如果初始條件為假,則什么也不做;只有在條件第一次變?yōu)檎鏁r(shí)才開(kāi)始局部編譯;
v-show是在任何條件下(首次條件是否為真)都被編譯,然后被緩存,而且DOM元素始終被保留; 123
4、性能消耗
v-if有更高的切換消耗,不適合做頻繁的切換;
v-show有更高的初始渲染消耗,適合做頻繁的額切換;
總結(jié)
以上所述是小編給大家介紹的vue使用v-if v-show頁(yè)面閃爍,div閃現(xiàn)的解決方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
相關(guān)文章
vue3+Echarts頁(yè)面加載不渲染顯示空白頁(yè)面的解決
這篇文章主要介紹了vue3+Echarts頁(yè)面加載不渲染顯示空白頁(yè)面的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-10-10
Vue3實(shí)現(xiàn)pdf在線(xiàn)預(yù)覽的三種方式
這篇文章主要為大家詳細(xì)介紹了使用Vue3實(shí)現(xiàn)pdf在線(xiàn)預(yù)覽的三種常用方式,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02
Vue實(shí)現(xiàn)動(dòng)態(tài)表單的示例詳解
在前端開(kāi)發(fā)中,我們經(jīng)常遇到根據(jù)用戶(hù)輸入動(dòng)態(tài)生成不同表單項(xiàng)的需求,本文將詳細(xì)講解如何使用?Vue?3?的響應(yīng)式特性,逐步構(gòu)建一個(gè)遞歸動(dòng)態(tài)表單,感興趣的可以了解下2024-12-12
vue項(xiàng)目如何使用three.js實(shí)現(xiàn)vr360度全景圖片預(yù)覽
這篇文章主要介紹了vue項(xiàng)目如何使用three.js實(shí)現(xiàn)vr360度全景圖片預(yù)覽,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03

