欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Vue.js的模板語法詳解

 更新時間:2020年02月16日 09:58:20   作者:前端不平一聲嗷嗚啊lv-1  
Vue.js 的核心是一個允許你采用簡潔的模板語法來聲明式的將數(shù)據(jù)渲染進(jìn) DOM 的系統(tǒng)。這篇文章重點(diǎn)給大家介紹Vue.js的模板語法,感興趣的朋友跟隨小編一起看看吧

Vue.js 模板語法

Vue.js 使用了基于 HTML 的模版語法,允許開發(fā)者聲明式地將 DOM 綁定至底層 Vue 實例的數(shù)據(jù)。

Vue.js 的核心是一個允許你采用簡潔的模板語法來聲明式的將數(shù)據(jù)渲染進(jìn) DOM 的系統(tǒng)。

結(jié)合響應(yīng)系統(tǒng),在應(yīng)用狀態(tài)改變時, Vue 能夠智能地計算出重新渲染組件的最小代價并應(yīng)用到 DOM 操作上。

使用“Mustache”語法 (即用雙大括號包裹) 的文本插值:

<span>Message: {{ msg }}</span>

Mustache 標(biāo)簽將會被替代為對應(yīng)數(shù)據(jù)對象上 “msg” 屬性的值。無論何時,綁定的數(shù)據(jù)對象上 msg 屬性發(fā)生了改變,插值處的內(nèi)容都會更新。

如果使用 v-once 指令,你也能執(zhí)行 一次性插值 ,當(dāng)數(shù)據(jù)改變時,插值處的內(nèi)容不會更新。但請留心這會影響到該節(jié)點(diǎn)上的其它數(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 style="color:red">this is red</span>'
	}
});

v-html使用時 在span標(biāo)簽的前標(biāo)簽內(nèi)寫入“v-html="xxx” ,相當(dāng)于將data中的值以HTML形式放入span標(biāo)簽內(nèi)。

 

attribute(屬性)

Mustache 語法不能作用在 HTML attribute 上,遇到這種情況應(yīng)該使用 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、undefinedfalse ,則 disabled attribute 甚至不會被包含在渲染出來的 <button> 元素中。

JS表達(dá)式

迄今為止,在我們的模板中,我們一直都只綁定簡單的屬性鍵值。但實際上,對于所有的數(shù)據(jù)綁定,Vue.js 都提供了完全的 JavaScript 表達(dá)式支持。

{{ data變量 + 1 }}    //
{{ data變量/表達(dá)式 ? 'true代碼' : 'false代碼' }}   //三元運(yùn)算
{{ data變量.split('').reverse().join('') }}   //可以進(jìn)行函數(shù)調(diào)用

<div v-bind:id="'list-' + id"></div>

這些表達(dá)式會在所屬 Vue 實例的數(shù)據(jù)作用域下作為 JavaScript被解析。

限制是:每個綁定都只能包含單個表達(dá)式,所以下面的例子都不會生效。

<!-- 這是語句,不是表達(dá)式 -->
{{ var a = 1 }}

<!-- 流控制也不會生效,請使用三元表達(dá)式 -->
{{ if (ok) { return message } }}

指令

指令 (Directives) 是帶有 v- 前綴的特殊 attribute。指令 attribute 的值預(yù)期是單個 JavaScript 表達(dá)式 。指令的職責(zé)是, 當(dāng)表達(dá)式的值改變時,將其產(chǎn)生的連帶影響,響應(yīng)式地作用于 DOM。 回顧我們在介紹中看到的例子:

<p v-if="seen">現(xiàn)在你看到我了</p>

這里,v-if 指令將根據(jù)表達(dá)式 seen 的值的真假來插入/移除 <p> 元素。

參數(shù)

一些指令能夠接收一個“參數(shù)”,在指令名稱之后以冒號表示。例如, v-bind 指令可以用于響應(yīng)式地更新 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 與表達(dá)式 url 的值綁定。

另一個例子是 v-on 指令,它用于監(jiān)聽 DOM 事件:

<a v-on:click="doSomething">...</a>

在這里參數(shù)是監(jiān)聽的事件名。

動態(tài)參數(shù)

可以動態(tài)的綁定不同的屬性,可以用 方括號 括起來的 JavaScript 表達(dá)式作為一個指令的參數(shù):

<!--
注意,參數(shù)表達(dá)式的寫法存在一些約束,如之后的“對動態(tài)參數(shù)表達(dá)式的約束”章節(jié)所述。
-->
<a v-bind:[attributeName]="url"> ... </a>

這里的 attributeName(命名中不能有逗號或冒號等符號) 會被作為一個 JavaScript 表達(dá)式進(jìn)行動態(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>

在這個示例中,當(dāng) eventName 的值為 "focus" 時,v-on:[eventName] 將等價于 v-on:focus。

修飾符

修飾符 (modifier) 是以半角句號 " . " 指明的特殊后綴,用于指出一個指令應(yīng)該以特殊方式綁定。

簡寫 v-bind 縮寫

<!-- 完整語法 -->
<a v-bind:href="url">...</a>

<!-- 縮寫 -->
<a :href="url">...</a>

v-on 縮寫

<!-- 完整語法 -->
<a v-on:click="doSomething">...</a>

<!-- 縮寫 -->
<a @click="doSomething">...</a>

總結(jié)

以上所述是小編給大家介紹的Vue.js的模板語法詳解,希望對大家有所幫助!

相關(guān)文章

  • vue3更新的setup語法糖實例詳解

    vue3更新的setup語法糖實例詳解

    vue3上線已經(jīng)很久了,許多小伙伴應(yīng)該都已經(jīng)使用過vue3了,下面這篇文章主要給大家介紹了關(guān)于vue3更新的setup語法糖的相關(guān)資料,文中通過實例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 詳解vue父子組件間傳值(props)

    詳解vue父子組件間傳值(props)

    本篇文章主要介紹了詳解vue父子組件間傳值(props),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • Vue項目如何部署到Tomcat服務(wù)器上

    Vue項目如何部署到Tomcat服務(wù)器上

    這篇文章主要介紹了Vue項目如何部署到Tomcat服務(wù)器上,Vue中自帶webpack,可以通過一行命令將項目打包,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • vue實現(xiàn)圖片懶加載的方法分析

    vue實現(xiàn)圖片懶加載的方法分析

    這篇文章主要介紹了vue實現(xiàn)圖片懶加載的方法,結(jié)合實例形式分析了vue.js圖片懶加載插件安裝、使用方法與相關(guān)操作注意事項,需要的朋友可以參考下
    2020-02-02
  • vue中使用better-scroll實現(xiàn)滑動效果及注意事項

    vue中使用better-scroll實現(xiàn)滑動效果及注意事項

    這篇文章主要介紹了vue中使用better-scroll實現(xiàn)滑動效果,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2018-11-11
  • webpack+vue.js實現(xiàn)組件化詳解

    webpack+vue.js實現(xiàn)組件化詳解

    vue的開發(fā)體驗還是比較愉悅的。首先文檔非常友好,所以上手會比較快。其次,配合webpack和vue-loader,每個頁面都是一個.vue文件,寫起來很方便。所以很適合做組件化開發(fā),這篇文章我們就來一起看看webpack+vue.js如何實現(xiàn)組件化。
    2016-10-10
  • 解決vue2.0動態(tài)綁定圖片src屬性值初始化時報錯的問題

    解決vue2.0動態(tài)綁定圖片src屬性值初始化時報錯的問題

    下面小編就為大家分享一篇解決vue2.0動態(tài)綁定圖片src屬性值初始化時報錯的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-03-03
  • Vue中的scoped實現(xiàn)原理及穿透方法

    Vue中的scoped實現(xiàn)原理及穿透方法

    這篇文章主要介紹了Vue中的scoped實現(xiàn)原理及穿透方法,本文通過實例文字相結(jié)合的形式給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2018-05-05
  • vue實現(xiàn)微信分享功能

    vue實現(xiàn)微信分享功能

    這篇文章主要介為大家詳細(xì)紹了vue實現(xiàn)微信分享功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-11-11
  • vue項目打包解決靜態(tài)資源無法加載和路由加載無效(404)問題

    vue項目打包解決靜態(tài)資源無法加載和路由加載無效(404)問題

    這篇文章主要介紹了vue項目打包,解決靜態(tài)資源無法加載和路由加載無效(404)問題,靜態(tài)資源無法使用,那就說明項目打包后,圖片和其他靜態(tài)資源文件相對路徑不對,本文給大家介紹的非常詳細(xì),需要的朋友跟隨小編一起看看吧
    2023-10-10

最新評論