首頁 > web前端 > html教學 > v-cloak遇到的問題及解決方法

v-cloak遇到的問題及解決方法

零下一度
發布: 2017-07-02 09:36:52
原創
2654 人瀏覽過

問題

在使用vue時,HTML 會綁定 Vue實例,在頁面載入時會閃爍類似{{msg}}這樣的資訊。可能會導致使用者體驗不好。

使用v-cloak

v-cloak就能解決這個問題。

(1)用法

這個指令保持在元素上直到關聯實例結束編譯。和 CSS 規則如 [v-cloak] { display: none } 一起用時,這個指令可以隱藏未編譯的 Mustache 標籤直到實例準備完畢。

官方API

我們可以在css 中加上:

[v-cloak] {
  display: none;
}
登入後複製

然後在html 中的載入點加上v-cloak,就可以解決這個問題:

<div id="app" v-cloak>
    {{msg}}
</div>
登入後複製

(2)Vue1.x 與Vue2 中v-cloak 的不同

Vue1 中,允許將Vue 實例掛載在body 上,而Vue2 是不允許的,想對整個頁面實例化,需要另外用一個div 來容納整個頁面內容,對其進行實例化。

這樣在使用 v-cloak 時,同樣需要用到這種方法。

(3)為什麼我用的 v-cloak 無效?

在實際專案中,我們常透過@import 來載入css 檔案

@import "style.css?1.1.11"
@import "index.css?1.1.11"
登入後複製

@import 是在頁面DOM 完全載入後才會進行加載,如果我們將[v-cloak] 寫在@import 加載的css 檔案中,就會導致頁面仍舊閃爍。

為了避免這種情況,我們可以將[v-cloak] 寫在 link 引入的 css 中,或者寫一個內聯 css 樣式,這樣就得到了解決。

以上是v-cloak遇到的問題及解決方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板