溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue指令之 v-cloak、v-text、v-html的示例分析

發(fā)布時(shí)間:2021-07-16 13:59:23 來(lái)源:億速云 閱讀:149 作者:小新 欄目:web開(kāi)發(fā)

小編給大家分享一下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指令之 v-cloak、v-text、v-html的示例分析

從圖中可以看到,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)容?

Vue指令之 v-cloak、v-text、v-html的示例分析

可以看到,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",
 }
})

Vue指令之 v-cloak、v-text、v-html的示例分析

我在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>'
 }
})

Vue指令之 v-cloak、v-text、v-html的示例分析

v-html指令為我們輸出了真正的HTML代碼,執(zhí)行完并移除該指令在元素上的綁定。

以上是“Vue指令之 v-cloak、v-text、v-html的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

vue
AI