因為瀏覽器是html從上到下執行,先執行Dom元素,然后執行javaScript元素,v-show、v-if實在javaScript中控制,當走到javaScript時,Dom元素已經開始走動,所以如果網慢的話,會顯示的特別明顯。
以上兩個問題都可以使用以下的方案來解決。
在css中定義
[v-cloak] {
display:none;
}
在v-if中加上v-cloak即可解決.(但是只有單頁面可以,在搭建的腳手架中是不行的,所以腳手架項目的朋友就不用嘗試了)
原理:
帶有v-clock的的元素設置為display:none,隱藏掉,在等到vue解析到帶有v-clock的節點時候,會把attribute和class同時remove掉,這樣就可以實現防止節點的閃爍。
示例:
[v-cloak] { display: none; } <div v-cloak> {{ message }} </div>