使用 v-cloak 解決刷新或加載時(shí)出現(xiàn)閃爍(未編譯的 Mustache 標(biāo)簽 )

在使用 vue 時(shí),綁定 Vue 實(shí)例,在頁(yè)面刷新或加載時(shí)會(huì)閃爍類(lèi)似{{ message }}這樣的信息。

使用 v-cloak 可以解決該問(wèn)題

怎么使用?

官方用法

<style>
  [v-cloak] {
    display: none;
  }
</style>
<div id="app" v-cloak>
  {{ message }}
</div>

為什么我用的 v-cloak 無(wú)效?

可能的原因有二:

1、v-cloak 的 display 屬性被權(quán)重更高的 display 覆蓋了,所以需要增加權(quán)重

<style>
  [v-cloak] {
    display: none !important;
  }
</style>

2、樣式放在了@import 引入的 css 文件中

@import "./style.css";

使用 @import 是在 DOM 完全載入后才會(huì)進(jìn)行引入,如果我們將 [v-cloak] 寫(xiě)在 @import 引入的 css 文件中,就會(huì)導(dǎo)致頁(yè)面仍舊閃爍。

<link rel="stylesheet" href="./style.css" />

為了避免這種情況,我們可以將[v-cloak] 寫(xiě)在 link 引入的 css 中,或者寫(xiě)一個(gè)內(nèi)聯(lián)樣式中,這樣就可解決。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容