Vue指令的學(xué)習(xí)
前言:
Vue官網(wǎng)一共有提供了14個(gè)指令,分別如下:
v-text
v-html
v-show
v-if
☆☆☆v-else
☆☆☆v-else-if
☆☆☆v-for
☆☆☆v-on
☆☆☆v-bind
☆☆☆v-model
☆☆☆v-slot
v-pre
v-cloak
v-once
注意:☆代表重要常用的
一、v-text(v-指令名="變量",變量需要data提供數(shù)值)
<p v-text="info"></p> <p v-text="'abc' + info"></p> <script> new Vue({ el: '#app', data: { info: 'a' } }) </script>
v-text="info"
渲染頁(yè)面結(jié)果為a
,因?yàn)?code>info是個(gè)變量,就直接展示變量所對(duì)應(yīng)的值
v-text="'abc' + info"
渲染頁(yè)面結(jié)果為abca
,當(dāng)你想用字符串和變量拼接時(shí),可以在字符串上增加單引號(hào),這樣程序就認(rèn)為你這個(gè)是個(gè)字符串,字符串+info變量最后的結(jié)果就是字符串abca
二、v-html(可以解析html語(yǔ)法)
有時(shí)候我們的Vue
對(duì)象中,或者是后臺(tái)返回給我們一個(gè)段原生的html
代碼,我們需要渲染出來(lái),那么如果直接通過(guò){{}}渲染,會(huì)把這個(gè)html
代碼當(dāng)做字符串。這時(shí)候我們就可以通過(guò)v-html
指令來(lái)實(shí)現(xiàn)。
示例代碼如下:
<p v-html="'<b>ok</b>'"></p> <p v-text="'<b>ok</b>'"></p>
以上兩行代碼除了用的vue
指令不一樣以外,沒(méi)有任何區(qū)別,讓我們先展示結(jié)果吧
ok <b>ok</b>
v-html
可以解析html
的標(biāo)簽,而text
傳的是字符串,不用管字符串里面具體的內(nèi)容是什么,統(tǒng)一都直接展示出原來(lái)的字符
三、v-once(只渲染元素和組件一次)
只渲染元素和組件一次。隨后的重新渲染,元素/組件及其所有的子節(jié)點(diǎn)將被視為靜態(tài)內(nèi)容并跳過(guò)。這可以用于優(yōu)化更新性能。
<input type="text" v-model="msg" v-once> // 只渲染一次 <p v-once>{{ msg }}</p>
四、v-cloak(防止頁(yè)面閃爍)
這個(gè)指令保持在元素上直到關(guān)聯(lián)實(shí)例結(jié)束編譯。和 CSS
規(guī)則如 [v-cloak] { display: none }
一起用時(shí),這個(gè)指令可以隱藏未編譯的Mustache
標(biāo)簽直到實(shí)例準(zhǔn)備完畢。
五、v-pre(了解)
跳過(guò)這個(gè)元素和它的子元素的編譯過(guò)程??梢杂脕?lái)顯示原始 Mustache
標(biāo)簽。跳過(guò)大量沒(méi)有指令的節(jié)點(diǎn)會(huì)加快編譯。
<div id="app"> <span v-pre>{{message}}</span> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello" } }) </script>
正常來(lái)講我們會(huì)通過(guò)編譯最后在網(wǎng)頁(yè)上顯示hello
,但是使用了v-pre
指令后,就會(huì)跳過(guò)編譯,直接展示原始的標(biāo)簽內(nèi)容也就是{{message}}
六、v-bind
6.1 綁定屬性
如果我們想要在html
元素的屬性上綁定我們Vue
對(duì)象中的變量,那么需要通過(guò)v-bind
來(lái)實(shí)現(xiàn)。
<div id="app"> <a v-bind:href="baidu" rel="external nofollow" >百度</a> <img :src="imgSrc" alt=""> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello", baidu: "https://www.baidu.com", imgSrc: "https://www.baidu.com/img/pc_a91909218349e60ed8f6f6f226c30e5f.gif" } }) </script>
我們只需要在綁定的屬性前面添加v-bind
:即可,當(dāng)然我們也可以使用縮寫(xiě):,直接寫(xiě)冒號(hào)即可
6.2 綁定Class
綁定Class
有2種方式,一種通過(guò)數(shù)組綁定,一種通過(guò)對(duì)象綁定
通過(guò)對(duì)象的方式來(lái)實(shí)現(xiàn):
<div id="app"> <p v-bind:class="{color:isColor}">你好,世界</p> </div> <script> const app = new Vue({ el: "#app", data: { isColor: true } }) </script> <style> .color{ color: blue; } </style>
對(duì)象的方式即像上面的代碼{color:isColor}
,key
是color
,value
是isColor
,當(dāng)value
的值為true
則渲染,為false
則不渲染
通過(guò)數(shù)組的方式來(lái)實(shí)現(xiàn):
<div id="app"> <p :class="[classname1, classname2]">{{message}}</p> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello", classname1: "pcolor", classname2: "fontSize" }, }) </script> <style> .pcolor{ color: red; } .fontSize{ font-size: 30px; } </style>
當(dāng)class
需要綁定2個(gè)屬性時(shí),可以使用數(shù)組的方式
6.3 綁定Style
綁定Style也有2種方式,一種通過(guò)數(shù)組綁定,一種通過(guò)對(duì)象綁定
通過(guò)對(duì)象的方式來(lái)實(shí)現(xiàn):
<div id="app"> <p :style="{fontSize:'100px'}">{{message}}</p> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello" } }) </script>
注意:對(duì)象綁定的時(shí)候只能駝峰命名法fontSize,不能使用font-size否則會(huì)報(bào)錯(cuò),100px加單引號(hào)就是字符串,不加則是變量,需要在data中添加變量
通過(guò)數(shù)組的方式來(lái)實(shí)現(xiàn):
<div id="app"> <p :style="[style1, style2]">{{message}}</p> </div> <script> const app = new Vue({ el: "#app", data: { message: "hello", style1: {background:'red'}, style2: {fontSize:'30px'}, } }) </script>
到此這篇關(guān)于Vue指令的學(xué)習(xí)的文章就介紹到這了,更多相關(guān)Vue指令內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Vue3.0插件執(zhí)行原理與實(shí)戰(zhàn)
這篇文章主要介紹了Vue3.0插件執(zhí)行原理與實(shí)戰(zhàn),Vue項(xiàng)目能夠使用很多插件來(lái)豐富自己的功能Vue-Router、Vuex等,節(jié)省了我們大量的人力和物力,下面我們就一起來(lái)了解Vue3.0插件的原理吧,需要的小伙伴可以參考一下2022-02-02Vue 報(bào)錯(cuò)Error: No PostCSS Config foun
這篇文章主要介紹了Vue 報(bào)錯(cuò)Error: No PostCSS Config found問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07vue+elementUI動(dòng)態(tài)增加表單項(xiàng)并添加驗(yàn)證的代碼詳解
這篇文章主要介紹了vue+elementUI動(dòng)態(tài)增加表單項(xiàng)并添加驗(yàn)證的代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12Vue多層數(shù)據(jù)結(jié)構(gòu)響應(yīng)式失效,視圖更新失敗問(wèn)題
這篇文章主要介紹了Vue多層數(shù)據(jù)結(jié)構(gòu)響應(yīng)式失效,視圖更新失敗問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02詳解vue微信網(wǎng)頁(yè)授權(quán)最終解決方案
這篇文章主要介紹了 詳解vue微信網(wǎng)頁(yè)授權(quán)最終解決方案,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-06-06vue中動(dòng)態(tài)select的使用方法示例
這篇文章主要介紹了vue中動(dòng)態(tài)select的使用方法,結(jié)合實(shí)例形式分析了vue.js使用動(dòng)態(tài)select創(chuàng)建下拉菜單相關(guān)實(shí)現(xiàn)技巧與操作注意事項(xiàng),需要的朋友可以參考下2019-10-10vue仿網(wǎng)易云音樂(lè)播放器界面的簡(jiǎn)單實(shí)現(xiàn)過(guò)程
興趣乃學(xué)習(xí)的動(dòng)力,想自己動(dòng)手寫(xiě)個(gè)音樂(lè)播放器,查了網(wǎng)上一些博客寫(xiě)了一個(gè),這篇文章主要給大家介紹了關(guān)于vue仿網(wǎng)易云音樂(lè)播放器界面的簡(jiǎn)單實(shí)現(xiàn)過(guò)程,需要的朋友可以參考下2021-11-11