vue如何解決數據加載時,插值表達式閃爍問題
數據加載,插值表達式閃爍問題
1.在公共的css樣式中加入
[v-cloak] { display: none !important; }
2.在el掛載的標簽上添加
<div class="#app" v-cloak> <p>{undefined{value.name}}</p> </div>
解決插值表達式渲染數據閃動
在使用Vue的時候,經常會用到插值表達式,也就是兩個大括號{{}}的語法,但是有時候會出現如下問題
先看代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> </head> <body> <div id="app">{{mes}}</div> <script> var app = new Vue({ el:'#app', data(){ return{ mes:'helloworld' } } }) </script> </body> </html>
出現的問題
瀏覽器瘋狂刷新,在某一瞬間的是內容是這樣的,然後才會顯示為helloworld,會有一個閃動的問題,這其實是因為,如果單純的 <div id="app">{{mes}}</div>一句話,瀏覽器是解析不出來的,而Vue它自己的語法中是去將頁面的{{mes}}給解析出來,呈現出來在瀏覽器中,但在解析這期間是需要時間的,如果電腦運行速度慢,這就會越發的明顯,如某貴校的電費充值頁面
為瞭解決這種不友好的問題,Vue官方其實給出瞭辦法的,使用v-cloak指令
解決方法如下圖
原理就是讓為編譯的給事先隱藏,上面的[v-cloak]指的是屬性選擇器。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。