關於Vue中v cloak的使用講解

2021-09-24 07:35:23 字數 1400 閱讀 8323

關於vue.js中v-cloak的使用,單看官方文件,可能看得有點迷糊:

這個指令保持在元素上直到關聯例項結束編譯。和 css 規則如 [v-cloak] 一起用時,這個指令可以隱藏未編譯的 mustache 標籤直到例項準備完畢。官方文件

v-cloak指令的設計是為了解決什麼問題?

?下面**:

}p>

div>

複製**

在網路不好或載入資料過大的情況下,頁面在渲染的過程會閃爍mustache 標籤:

為了使用者有更好的優化體驗,vue加入了延緩響應的指令v-cloak,在與css:[v-cloak] 的配合下,可以隱藏未編譯 mustache 的標籤直到例項準備完畢,v-cloak屬性才會被自動去除,對應的標籤也才可見了。

當然上面的例子很難看到頁面閃爍,因為太快了,我們延後載入 vue 例項:示例參考

lang="en">

charset="utf-8" />

titletitle>

src="">

script>

type="text/css">

[v-cloak]

style>

head>

}span>

div>

settimeout(() =>

})}, 2000)

script>

body>

html>

複製**

**執行,在2000ms前頁面顯示的是}

現在往}中新增v-cloak指令,在執行**:

2000ms頁面為空,2000ms後出現hello vue,解決了在例項掛載之前,頁面閃現mustache 標籤的尷尬問題。

問題出現在[v-cloak]的失效。

1、v-cloakdisplay屬性可能被層級更高css給覆蓋了,解決方法:用important加權:

[v-cloak] 

複製**

2、最好的解決辦法就是在index.html中,以內聯css的方式引入。

type="text/css">

[v-cloak]

style>

複製**

Vue 中的 v cloak 解讀

用法 這個指令保持在元素上直到關聯例項結束編譯。和 css 規則如 v cloak 一起用時,這個指令可以隱藏未編譯的 mustache 標籤直到例項準備完畢。官方api div html 繫結 vue例項,在頁面載入時會閃爍 然後才會出現載入完成字樣,為了效果更明顯,我們可以延後載入 vue 例項...

Vue 中的 v cloak 解讀

用法 這個指令保持在元素上直到關聯例項結束編譯。和 css 規則如 v cloak 一起用時,這個指令可以隱藏未編譯的 mustache 標籤直到例項準備完畢。官方api html 繫結 vue例項,在頁面載入時會閃爍 然後才會出現載入完成字樣,為了效果更明顯,我們可以延後載入 vue 例項 set...

Vue 中的 v cloak 解讀

用法 這個指令保持在元素上直到關聯例項結束編譯。和 css 規則如 v cloak 一起用時,這個指令可以隱藏未編譯的 mustache 標籤直到例項準備完畢。官方api html 繫結 vue例項,在頁面載入時會閃爍 然後才會出現載入完成字樣,為了效果更明顯,我們可以延後載入 vue 例項 set...