Vue指令之 v-cloak、v-text、v-html實例詳解
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實例對象 => vm
var vm = new Vue({
el:'#app',
data:{
msg:"hello world",
}
})

從圖中可以看到,Vue在頁面數據傳遞時,如果一開始插值表達式獲取不到數據,那么包含“v-cloak”屬性的節(jié)點就會執(zhí)行“display:none”樣式,導致頁面什么也看不到,當插值表達式獲取到數據之后,就會在節(jié)點中自動移除“v-cloak”屬性,這時樣式也就不起作用了,從而展示了正常的數據。
那么v-cloak指令渲染數據會不會影響到附近元素內容?

可以看到,v-cloak指令不會覆蓋元素內容。
v-text
v-text指令與v-cloak指令非常相似,v-text 指令不會暴露插值,但會覆蓋附近元素內容。
// html
<div id="app">
<span v-text="msg">這是一些文字</span>
</div>
// vue實例對象 => vm
var 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實例對象 => vm
var vm = new Vue({
el:'#app',
data:{
HTML:'<b>我是通過v-html指令插入</b>'
}
})

v-html指令為我們輸出了真正的HTML代碼,執(zhí)行完并移除該指令在元素上的綁定。
總結
以上所述是小編給大家介紹的Vue指令之 v-cloak、v-text、v-html實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!
相關文章
vue 封裝自定義組件之tabal列表編輯單元格組件實例代碼
這篇文章主要介紹了vue 封裝自定義組件tabal列表編輯單元格組件實例代碼,需要的朋友可以參考下2017-09-09

