Vue指令之 v-cloak、v-text、v-html實例詳解
v-cloak
當(dāng)用戶頻繁刷新頁面或網(wǎng)速慢時,頁面未完成 Vue.js 的加載時,導(dǎo)致 Vue 來不及渲染,這就會導(dǎo)致在瀏覽器中直接暴露插值(表達式),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在頁面數(shù)據(jù)傳遞時,如果一開始插值表達式獲取不到數(shù)據(jù),那么包含“v-cloak”屬性的節(jié)點就會執(zhí)行“display:none”樣式,導(dǎo)致頁面什么也看不到,當(dāng)插值表達式獲取到數(shù)據(jù)之后,就會在節(jié)點中自動移除“v-cloak”屬性,這時樣式也就不起作用了,從而展示了正常的數(shù)據(jù)。
那么v-cloak指令渲染數(shù)據(jù)會不會影響到附近元素內(nèi)容?
可以看到,v-cloak指令不會覆蓋元素內(nèi)容。
v-text v-text指令與v-cloak指令非常相似,v-text 指令不會暴露插值,但會覆蓋附近元素內(nèi)容。 // html <div id="app"> <span v-text="msg">這是一些文字</span> </div> // vue實例對象 => vm var vm = new Vue({ el:'#app', data:{ msg:"hello world", } })
我在span標簽中加入了 " 這是一些文字 " ,但是vue覆蓋了元素內(nèi)容,完成后并移除了v-text指令。
v-html
把字符串轉(zhuǎn)義為html代碼插入到文檔,需要注意的是,v-html也會覆蓋附近元素內(nèi)容。
<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í)行完并移除該指令在元素上的綁定。
總結(jié)
以上所述是小編給大家介紹的Vue指令之 v-cloak、v-text、v-html實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
vue 實現(xiàn)cli3.0中使用proxy進行代理轉(zhuǎn)發(fā)
今天小編就為大家分享一篇vue 實現(xiàn)cli3.0中使用proxy進行代理轉(zhuǎn)發(fā),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-10-10從vue基礎(chǔ)開始創(chuàng)建一個簡單的增刪改查的實例代碼(推薦)
這篇文章主要介紹了從vue基礎(chǔ)開始創(chuàng)建一個簡單的增刪改查的實例代碼,需要的朋友參考下2018-02-02vue watch普通監(jiān)聽和深度監(jiān)聽實例詳解(數(shù)組和對象)
這篇文章主要介紹了vue watch普通監(jiān)聽和深度監(jiān)聽(數(shù)組和對象),文中單獨通過代碼給大家介紹了vue watch 深度監(jiān)聽的方法,感興趣的朋友一起看看吧2018-08-08Vue-cli 如何將px轉(zhuǎn)化為rem適配移動端
這篇文章主要介紹了Vue-cli 如何將px轉(zhuǎn)化為rem適配移動端,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2024-07-07基于elementUI實現(xiàn)圖片預(yù)覽組件的示例代碼
這篇文章主要介紹了基于elementUI實現(xiàn)圖片預(yù)覽組件的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03