這篇文章主要介紹Vue.js中模板語法的示例分析,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創(chuàng)新互聯(lián)建站堅持“要么做到,要么別承諾”的工作理念,服務領域包括:網(wǎng)站建設、網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務,滿足客戶于互聯(lián)網(wǎng)時代的花山網(wǎng)站設計、移動媒體設計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡建設合作伙伴!
Vue.js 模板語法
Vue.js 使用了基于 HTML 的模版語法,允許開發(fā)者聲明式地將 DOM 綁定至底層 Vue 實例的數(shù)據(jù)。
Vue.js 的核心是一個允許你采用簡潔的模板語法來聲明式的將數(shù)據(jù)渲染進 DOM 的系統(tǒng)。
結(jié)合響應系統(tǒng),在應用狀態(tài)改變時, Vue 能夠智能地計算出重新渲染組件的最小代價并應用到 DOM 操作上。
使用“Mustache”語法 (即用雙大括號包裹) 的文本插值:
<span>Message: {{ msg }}</span>
Mustache 標簽將會被替代為對應數(shù)據(jù)對象上 “msg” 屬性的值。無論何時,綁定的數(shù)據(jù)對象上 msg 屬性發(fā)生了改變,插值處的內(nèi)容都會更新。
如果使用 v-once指令,你也能執(zhí)行 一次性插值,當數(shù)據(jù)改變時,插值處的內(nèi)容不會更新。但請留心這會影響到該節(jié)點上的其它數(shù)據(jù)綁定。
HTML
直接用雙大括號包裹只是普通文本,如果想實現(xiàn)HTML代碼效果,需要加入 v-html指令
html部分:
<div id="app"> <p>Using mustaches: {{ rawHtml }}</p> <p>Using v-html directive: <span v-html="rawHtml"></span></p> </div>
js部分:
var vm = new Vue({ el:'#app', data:{ rawHtml:'<span >this is red</span>' } });
v-html使用時 在span標簽的前標簽內(nèi)寫入“v-html="xxx”,相當于將data中的值以HTML形式放入span標簽內(nèi)。
attribute(屬性)
Mustache 語法不能作用在 HTML attribute 上,遇到這種情況應該使用 v-bind 指令:
格式:v-bind:屬性="變量名"
html部分:
<div v-bind:color="textcolor">123</div>
js部分:
data:{ textcolor:"red" }
將變量textcolor的值“red"綁定在盒子的 "color" 屬性上
對于布爾屬性,v-bind使用為:
<button v-bind:disabled="isButtonDisabled">Button</button>
如果 isButtonDisabled的值是 null、undefined或 false,則 disabled attribute 甚至不會被包含在渲染出來的 <button> 元素中。
JS表達式
迄今為止,在我們的模板中,我們一直都只綁定簡單的屬性鍵值。但實際上,對于所有的數(shù)據(jù)綁定,Vue.js 都提供了完全的 JavaScript 表達式支持。
{{ data變量 + 1 }} // {{ data變量/表達式 ? 'true代碼' : 'false代碼' }} //三元運算 {{ data變量.split('').reverse().join('') }} //可以進行函數(shù)調(diào)用 <div v-bind:id="'list-' + id"></div>
這些表達式會在所屬 Vue 實例的數(shù)據(jù)作用域下作為 JavaScript被解析。
限制是:每個綁定都只能包含單個表達式,所以下面的例子都不會生效。
<!-- 這是語句,不是表達式 --> {{ var a = 1 }} <!-- 流控制也不會生效,請使用三元表達式 --> {{ if (ok) { return message } }}
指令
指令 (Directives) 是帶有 v- 前綴的特殊 attribute。指令 attribute 的值預期是單個 JavaScript 表達式 。指令的職責是, 當表達式的值改變時,將其產(chǎn)生的連帶影響,響應式地作用于 DOM。 回顧我們在介紹中看到的例子:
<p v-if="seen">現(xiàn)在你看到我了</p>
這里,v-if 指令將根據(jù)表達式 seen 的值的真假來插入/移除 <p> 元素。
參數(shù)
一些指令能夠接收一個“參數(shù)”,在指令名稱之后以冒號表示。例如, v-bind指令可以用于響應式地更新 HTML屬性值:
<a v-bind:href="url" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >...</a>
在這里 href 是參數(shù),告知 v-bind 指令將該元素的 href attribute 與表達式 url 的值綁定。
另一個例子是 v-on 指令,它用于監(jiān)聽 DOM 事件:
<a v-on:click="doSomething">...</a>
在這里參數(shù)是監(jiān)聽的事件名。
動態(tài)參數(shù)
可以動態(tài)的綁定不同的屬性,可以用 方括號括起來的 JavaScript 表達式作為一個指令的參數(shù):
<!-- 注意,參數(shù)表達式的寫法存在一些約束,如之后的“對動態(tài)參數(shù)表達式的約束”章節(jié)所述。 --> <a v-bind:[attributeName]="url"> ... </a>
這里的 attributeName(命名中不能有逗號或冒號等符號) 會被作為一個 JavaScript 表達式進行動態(tài)求值,求得的值將會作為最終的參數(shù)來使用。
例如,如果你的 Vue 實例有一個 data 屬性 attributeName,其值為 "href",那么這個綁定將等價于 <a v-bind:href="url" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" >...</a>
。
同樣地,你可以使用動態(tài)參數(shù)為一個動態(tài)的事件名綁定處理函數(shù):
<a v-on:[eventName]="doSomething"> ... </a>
在這個示例中,當 eventName 的值為 "focus" 時,v-on:[eventName] 將等價于 v-on:focus。
修飾符
修飾符 (modifier) 是以半角句號 " . " 指明的特殊后綴,用于指出一個指令應該以特殊方式綁定。
簡寫 v-bind 縮寫
<!-- 完整語法 --> <a v-bind:href="url">...</a> <!-- 縮寫 --> <a :href="url">...</a>
v-on 縮寫
<!-- 完整語法 --> <a v-on:click="doSomething">...</a> <!-- 縮寫 --> <a @click="doSomething">...</a>
以上是“Vue.js中模板語法的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對大家有幫助,更多相關知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道!
文章名稱:Vue.js中模板語法的示例分析
網(wǎng)頁路徑:http://www.rwnh.cn/article18/peohgp.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站、品牌網(wǎng)站制作、網(wǎng)站建設、面包屑導航、網(wǎng)站內(nèi)鏈、網(wǎng)站改版
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)