您好,登錄后才能下訂單哦!
小編給大家分享一下Vue指令之 v-cloak、v-text、v-html的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
v-cloak
當(dāng)用戶頻繁刷新頁(yè)面或網(wǎng)速慢時(shí),頁(yè)面未完成 Vue.js 的加載時(shí),導(dǎo)致 Vue 來(lái)不及渲染,這就會(huì)導(dǎo)致在瀏覽器中直接暴露插值(表達(dá)式),Vue由此也給出了解決方法。
在指定標(biāo)簽或整個(gè)父容器加入v-cloak指令,通過(guò)css選擇器選中v-cloak,隱藏元素即可。
// html <div v-cloak id="app"> <span>{{ msg }}</span> </div> // css [v-cloak]{ display:"none"; } // vue實(shí)例對(duì)象 => vm var vm = new Vue({ el:'#app', data:{ msg:"hello world", } })
從圖中可以看到,Vue在頁(yè)面數(shù)據(jù)傳遞時(shí),如果一開(kāi)始插值表達(dá)式獲取不到數(shù)據(jù),那么包含“v-cloak”屬性的節(jié)點(diǎn)就會(huì)執(zhí)行“display:none”樣式,導(dǎo)致頁(yè)面什么也看不到,當(dāng)插值表達(dá)式獲取到數(shù)據(jù)之后,就會(huì)在節(jié)點(diǎn)中自動(dòng)移除“v-cloak”屬性,這時(shí)樣式也就不起作用了,從而展示了正常的數(shù)據(jù)。
那么v-cloak指令渲染數(shù)據(jù)會(huì)不會(huì)影響到附近元素內(nèi)容?
可以看到,v-cloak指令不會(huì)覆蓋元素內(nèi)容。
v-text v-text指令與v-cloak指令非常相似,v-text 指令不會(huì)暴露插值,但會(huì)覆蓋附近元素內(nèi)容。 // html <div id="app"> <span v-text="msg">這是一些文字</span> </div> // vue實(shí)例對(duì)象 => vm var vm = new Vue({ el:'#app', data:{ msg:"hello world", } })
我在span標(biāo)簽中加入了 " 這是一些文字 " ,但是vue覆蓋了元素內(nèi)容,完成后并移除了v-text指令。
v-html
把字符串轉(zhuǎn)義為html代碼插入到文檔,需要注意的是,v-html也會(huì)覆蓋附近元素內(nèi)容。
<div id="app"> <p v-html="HTML"></p> </div> // vue實(shí)例對(duì)象 => vm var vm = new Vue({ el:'#app', data:{ HTML:'<b>我是通過(guò)v-html指令插入</b>' } })
v-html指令為我們輸出了真正的HTML代碼,執(zhí)行完并移除該指令在元素上的綁定。
以上是“Vue指令之 v-cloak、v-text、v-html的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。