Vue.js 模板語(yǔ)法

Vue.js 模板語(yǔ)法

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

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

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


1. 插值

1.1 文本插值

數(shù)據(jù)綁定最常見(jiàn)的形式就是使用 {{...}}(雙大括號(hào))的文本插值:

<div  id="app">  <p>{{ message }}</p>  </div>

1.2純html

使用 v-html 指令用于輸出 html 代碼:


<div  id="app"> 
        <div  v-html="message"></div>
</div>

 <script>
        new Vue({ el: '#app', data: { message: '<h1>VUE教程</h1>' } })
 </script>

1.3屬性

HTML 屬性中的值應(yīng)使用 v-bind 指令笆怠。

以下實(shí)例判斷 class1 的值,如果為 true 使用 class1 類(lèi)的樣式誊爹,否則不使用該類(lèi):


<style>
.class1{
  background: #444;
  color: #eee;
}
</style>
<body>
<script src="https://cdn.staticfile.org/vue/2.2.2/vue.min.js"></script>

<div id="app">
  <label for="r1">修改顏色</label><input type="checkbox" v-model="use" id="r1">
  <br><br>
  <div v-bind:class="{'class1': use}">
    v-bind:class 指令
  </div>
</div>
    
<script>
new Vue({
    el: '#app',
  data:{
      use: false
  }
});
</script>

1.4 JavaScript表達(dá)式

Vue.js 都提供了完全的 JavaScript 表達(dá)式支持蹬刷。

<div  id="app"> 
       {{5+5}}<br> 
       {{ ok ? 'YES' : 'NO' }}<br>
       {{ message.split('').reverse().join('') }} 
       <div  v-bind:id="'list-' + id">vue教程</div> 
 </div>  
<script> 
        new Vue({ 
            el: '#app', 
            data: { ok: true, message: 'RUNOOB', id : 1 }
        }) 
</script>


2. 指令

指令是帶有 v- 前綴的特殊屬性瓢捉。

指令用于在表達(dá)式的值改變時(shí),將某些行為應(yīng)用到 DOM 上办成。如下例子:


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

<script> 
        new Vue({ el: '#app', data: { seen: true } }) 
</script>

這里泡态, v-if 指令將根據(jù)表達(dá)式 seen 的值(true 或 false )來(lái)決定是否插入 p 元素。

2.1 參數(shù)

參數(shù)在指令后以冒號(hào)指明迂卢。例如某弦, v-bind 指令被用來(lái)響應(yīng)地更新 HTML 屬性:


<div  id="app">  
        <pre><a  v-bind:href="url">vue教程</a></pre> 
</div> 
<script> 
        new Vue({ el: '#app', data: { url: 'http://www.runoob.com' } }) 
</script>

在這里 href 是參數(shù),告知 v-bind 指令將該元素的 href 屬性與表達(dá)式 url 的值綁定而克。

另一個(gè)例子是 v-on 指令靶壮,它用于監(jiān)聽(tīng) DOM 事件:

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

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

2.2 修飾符

修飾符是以半角句號(hào) . 指明的特殊后綴员萍,用于指出一個(gè)指令應(yīng)該以特殊方式綁定腾降。例如,.prevent 修飾符告訴 v-on 指令對(duì)于觸發(fā)的事件調(diào)用 event.preventDefault()

<form v-on:submit.prevent="onSubmit"></form></pre>


3. 用戶輸入

在 input 輸入框中我們可以使用 v-model 指令來(lái)實(shí)現(xiàn)雙向數(shù)據(jù)綁定:

3.1 雙向數(shù)據(jù)綁定


<div  id="app">
      <p>{{ message }}</p>  <input  v-model="message">  
</div>  
<script> new Vue({ el: '#app', data: { message: 'Runoob!' } }) </script>

v-model 指令用來(lái)在 input充活、select蜂莉、text、checkbox混卵、radio 等表單控件元素上創(chuàng)建雙向數(shù)據(jù)綁定映穗,根據(jù)表單上的值,自動(dòng)更新綁定的元素的值幕随。

按鈕的事件我們可以使用 v-on 監(jiān)聽(tīng)事件蚁滋,并對(duì)用戶的輸入進(jìn)行響應(yīng)。

以下實(shí)例在用戶點(diǎn)擊按鈕后對(duì)字符串進(jìn)行反轉(zhuǎn)操作:

3.2 字符串反轉(zhuǎn)


<div  id="app">
        <p>{{ message }}</p>  <button  v-on:click="reverseMessage">反轉(zhuǎn)字符串</button>  
</div>  
<script>
 new Vue({ 
      el: '#app', data: { message: 'Runoob!' 
      },
      methods: { 
      reverseMessage: function () { this.message = this.message.split('').reverse().join('') }
     }
 }) 
</script>


4. 過(guò)濾器

Vue.js 允許你自定義過(guò)濾器赘淮,被用作一些常見(jiàn)的文本格式化辕录。過(guò)濾器應(yīng)該被添加在 mustache 插值的尾部,由“管道符”指示:由"管道符"指示, 格式如下:

{{ message | capitalize }}

-- 在 v-bind 指令中 --
<div v-bind:id="rawId | formatId"></div>
過(guò)濾器函數(shù)接受表達(dá)式的值作為第一個(gè)參數(shù)梢卸。

以下實(shí)例對(duì)輸入的字符串第一個(gè)字母轉(zhuǎn)為大寫(xiě):


<div  id="app">
 {{ message | capitalize }} 
</div>  
<script>
     new Vue({ el: '#app', 
               data: { message: 'runoob' },
               filters: {
               capitalize: function (value) { if (!value) return ''
               value = value.toString() return value.charAt(0).toUpperCase() + value.slice(1) } } })
</script>

過(guò)濾器可以串聯(lián):

{{ message | filterA | filterB }}

過(guò)濾器是 JavaScript 函數(shù)走诞,因此可以接受參數(shù):

{{ message | filterA('arg1', arg2) }}

這里,message 是第一個(gè)參數(shù)蛤高,字符串 'arg1' 將傳給過(guò)濾器作為第二個(gè)參數(shù)蚣旱, arg2 表達(dá)式的值將被求值然后傳給過(guò)濾器作為第三個(gè)參數(shù)。


5. 縮寫(xiě)

5.1 v-bind 縮寫(xiě)

Vue.js 為兩個(gè)最為常用的指令提供了特別的縮寫(xiě):

<a v-bind:href="url"></a>

-- 縮寫(xiě) --
<a :href="url"></a>

5.2 v-on 縮寫(xiě)

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

!-- 縮寫(xiě) -->
<a @click="doSomething"></a>


喜歡給點(diǎn)點(diǎn)關(guān)注哦戴陡,筆記不定期更新~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末塞绿,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子恤批,更是在濱河造成了極大的恐慌异吻,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件喜庞,死亡現(xiàn)場(chǎng)離奇詭異诀浪,居然都是意外死亡棋返,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)笋妥,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)懊昨,“玉大人窄潭,你說(shuō)我怎么就攤上這事春宣。” “怎么了嫉你?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵月帝,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我幽污,道長(zhǎng)嚷辅,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任距误,我火速辦了婚禮簸搞,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘准潭。我一直安慰自己趁俊,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布刑然。 她就那樣靜靜地躺著寺擂,像睡著了一般。 火紅的嫁衣襯著肌膚如雪泼掠。 梳的紋絲不亂的頭發(fā)上怔软,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音择镇,去河邊找鬼挡逼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛腻豌,可吹牛的內(nèi)容都是我干的家坎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼饲梭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼乘盖!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起憔涉,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤订框,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后兜叨,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體穿扳,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡衩侥,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了矛物。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片茫死。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖履羞,靈堂內(nèi)的尸體忽然破棺而出峦萎,到底是詐尸還是另有隱情,我是刑警寧澤忆首,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布爱榔,位于F島的核電站,受9級(jí)特大地震影響糙及,放射性物質(zhì)發(fā)生泄漏详幽。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一浸锨、第九天 我趴在偏房一處隱蔽的房頂上張望唇聘。 院中可真熱鬧,春花似錦柱搜、人聲如沸迟郎。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)谎亩。三九已至,卻和暖如春宇姚,著一層夾襖步出監(jiān)牢的瞬間匈庭,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工浑劳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留阱持,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓魔熏,卻偏偏與公主長(zhǎng)得像衷咽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子蒜绽,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容