v-cloak
當用戶頻繁刷新頁面或網速慢時,頁面未完成 Vue.js 的加載時,導致 Vue 來不及渲染,這就會導致在瀏覽器中直接暴露插值(表達式),Vue由此也給出了解決方法。
在指定標簽或整個父容器加入v-cloak指令,通過css選擇器選中v-cloak,隱藏元素即可。
// html<div v-cloak id="app"> <span>{{ msg }}</span></div>// css[v-cloak]{ display:"none";}// vue實例對象 => vmvar vm = new Vue({ el:'#app', data:{ msg:"hello world", }})
從圖中可以看到,Vue在頁面數據傳遞時,如果一開始插值表達式獲取不到數據,那么包含“v-cloak”屬性的節點就會執行“display:none”樣式,導致頁面什么也看不到,當插值表達式獲取到數據之后,就會在節點中自動移除“v-cloak”屬性,這時樣式也就不起作用了,從而展示了正常的數據。
那么v-cloak指令渲染數據會不會影響到附近元素內容?

可以看到,v-cloak指令不會覆蓋元素內容。
v-textv-text指令與v-cloak指令非常相似,v-text 指令不會暴露插值,但會覆蓋附近元素內容。// html<div id="app"> <span v-text="msg">這是一些文字</span></div>// vue實例對象 => vmvar vm = new Vue({ el:'#app', data:{ msg:"hello world", }})
我在span標簽中加入了 " 這是一些文字 " ,但是vue覆蓋了元素內容,完成后并移除了v-text指令。
v-html
把字符串轉義為html代碼插入到文檔,需要注意的是,v-html也會覆蓋附近元素內容。
<div id="app"> <p v-html="HTML"></p></div>// vue實例對象 => vmvar vm = new Vue({ el:'#app', data:{ HTML:'<b>我是通過v-html指令插入</b>' }})
v-html指令為我們輸出了真正的HTML代碼,執行完并移除該指令在元素上的綁定。
總結
以上所述是小編給大家介紹的Vue指令之 v-cloak、v-text、v-html實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
新聞熱點
疑難解答