今天在使用vue進行數據渲染的時候發現當我不停的按F5刷新的時候出現了{{message}}的情況。經過多方查找我知道了要解決這個問題需要添加v-cloak指令,這時有一個問題困擾了我很久,我明明按照大家所說的加了v-for為什么還是沒有用。后來折騰了很久才發現原因,先不說為什么,看看代碼來:
在html中:
<ul v-for="item in person"> <li v-cloak>{{item.name}}</li></ul>
在CSS中:
[v-cloak]:{diapsly:none;}
在script中:
var vm = new Vue({ el:'#myapp', date:{ person:[ {name:'zhangsan'}, {name:'lisi'}, {name:'wangwu'} ] }})
最開始是沒有css樣式,當我發現我不斷的刷新的時候頁面上會出現{{item.name}}一閃而逝,這時我在li上面添加了v-cloak指令,并添加了css樣式。此時,我發現還是會有閃爍,我發現他根本沒有執行css的樣式。
現在大家應該都猜到原因了吧,因為我是在for循環里面添加的v-cloak。之前查的資料是直接使用。
css:
[v-cloak]:{display:none}
html:
<div v-cloak>{{message}}</div>
看到別人的寫法以后我就以為是直接在要渲染的該標簽添加指令,這也導致了我的v-cloak一直沒有起到作用。最后,我把v-cloak添加到了v-for上,一切終于變得正常了。
<ul v-for="item in person" v-cloak> <li >{{item.name}}</li></ul>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。
新聞熱點
疑難解答