vue.js基本語(yǔ)法

模板語(yǔ)法

插值

# 文本

數(shù)據(jù)綁定最常見(jiàn)的形式就是使用 “Mustache” 語(yǔ)法(雙大括號(hào))的文本插值:

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

Mustache 標(biāo)簽將會(huì)被替代為對(duì)應(yīng)數(shù)據(jù)對(duì)象上 msg 屬性的值蜓席。當(dāng)綁定的數(shù)據(jù)對(duì)象上 msg 屬性發(fā)生了改變時(shí),插值處的內(nèi)容都會(huì)更新盖喷。

# 純HTML

雙大括號(hào)會(huì)將數(shù)據(jù)解釋為純文本查刻,而非 HTML 咙轩。為了輸出真正的 HTML 眶明,你需要使用 v-html 指令:

    <div v-html="rawHtml"></div>

被插入的內(nèi)容都會(huì)被當(dāng)做 HTML —— 數(shù)據(jù)綁定會(huì)被忽略惩坑。注意,你不能使用 v-html 來(lái)復(fù)合局部模板朝扼,因?yàn)?Vue 不是基于字符串的模板引擎赃阀。組件更適合擔(dān)任 UI 重用與復(fù)合的基本單元。

# 屬性

Mustache 不能在 HTML 屬性中使用吟税,應(yīng)使用 v-bind 指令:

    <div v-bind:id="dynamicId"></div>

這對(duì)布爾值的屬性也有效 —— 如果條件被求值為 false 的話該屬性會(huì)被移除:

<button v-bind:disabled="someDynamicCondition">Button</button>

# 使用javascript表達(dá)式

迄今為止凹耙,在我們的模板中姿现,我們一直都只綁定簡(jiǎn)單的屬性鍵值肠仪。但實(shí)際上,對(duì)于所有的數(shù)據(jù)綁定备典, Vue.js 都提供了完全的 JavaScript 表達(dá)式支持异旧。

    {{ number + 1 }}
    {{ ok ? 'YES' : 'NO' }}
    {{ message.split('').reverse().join('') }}
    <div v-bind:id="'list-' + id"></div>

這些表達(dá)式會(huì)在所屬 Vue 實(shí)例的數(shù)據(jù)作用域下作為 JavaScript 被解析。有個(gè)限制就是提佣,每個(gè)綁定都只能包含單個(gè)表達(dá)式.

指令

指令(Directives)是帶有 v- 前綴的特殊屬性吮蛹。指令屬性的值預(yù)期是單一 JavaScript 表達(dá)式(除了 v-for,之后再討論)拌屏。指令的職責(zé)就是當(dāng)其表達(dá)式的值改變時(shí)相應(yīng)地將某些行為應(yīng)用到 DOM 上潮针。

# 參數(shù)

一些指令能接受一個(gè)“參數(shù)”,在指令后以冒號(hào)指明倚喂。例如每篷, v-bind 指令被用來(lái)響應(yīng)地更新 HTML 屬性:

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

在這里 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)的事件名。

# 修飾符

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

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

過(guò)濾器

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

    <!-- in mustaches -->
    {{ message | capitalize }}
    <!-- in v-bind -->
    <div v-bind:id="rawId | formatId"></div>

ue 2.x 中,過(guò)濾器只能在 mustache 綁定和 v-bind 表達(dá)式(從 2.1.0 開始支持)中使用吠冤,因?yàn)檫^(guò)濾器設(shè)計(jì)目的就是用于文本轉(zhuǎn)換浑彰。為了在其他指令中實(shí)現(xiàn)更復(fù)雜的數(shù)據(jù)變換,你應(yīng)該使用計(jì)算屬性拯辙。

過(guò)濾器函數(shù)總接受表達(dá)式的值作為第一個(gè)參數(shù)郭变。

    new Vue({
      // ...
      filters: {
        capitalize: function (value) {
          if (!value) return ''
          value = value.toString()
          return value.charAt(0).toUpperCase() + value.slice(1)
        }
      }
    })

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

{{ message | filterA | filterB }}

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

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

這里涯保,字符串 'arg1' 將傳給過(guò)濾器作為第二個(gè)參數(shù)诉濒, arg2表達(dá)式的值將被求值然后傳給過(guò)濾器作為第三個(gè)參數(shù)。

縮寫

v- 前綴在模板中是作為一個(gè)標(biāo)示 Vue 特殊屬性的明顯標(biāo)識(shí)夕春。當(dāng)你使用 Vue.js 為現(xiàn)有的標(biāo)記添加動(dòng)態(tài)行為時(shí)未荒,它會(huì)很有用,但對(duì)于一些經(jīng)常使用的指令來(lái)說(shuō)有點(diǎn)繁瑣及志。同時(shí)片排,當(dāng)搭建 Vue.js 管理所有模板的 SPA 時(shí),v- 前綴也變得沒(méi)那么重要了速侈。因此率寡,Vue.js 為兩個(gè)最為常用的指令提供了特別的縮寫:

# v-bind 縮寫

    <!-- 完整語(yǔ)法 -->
    <a v-bind:href="url"></a>
    <!-- 縮寫 -->
    <a :href="url"></a>

# v-on 縮寫

    <!-- 完整語(yǔ)法 -->
    <a v-on:click="doSomething"></a>
    <!-- 縮寫 -->
    <a @click="doSomething"></a>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市倚搬,隨后出現(xiàn)的幾起案子冶共,更是在濱河造成了極大的恐慌,老刑警劉巖每界,帶你破解...
    沈念sama閱讀 211,743評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捅僵,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡眨层,警方通過(guò)查閱死者的電腦和手機(jī)庙楚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,296評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)趴樱,“玉大人馒闷,你說(shuō)我怎么就攤上這事∫恋瑁” “怎么了窜司?”我有些...
    開封第一講書人閱讀 157,285評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)航揉。 經(jīng)常有香客問(wèn)我塞祈,道長(zhǎng),這世上最難降的妖魔是什么帅涂? 我笑而不...
    開封第一講書人閱讀 56,485評(píng)論 1 283
  • 正文 為了忘掉前任议薪,我火速辦了婚禮尤蛮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘斯议。我一直安慰自己产捞,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,581評(píng)論 6 386
  • 文/花漫 我一把揭開白布哼御。 她就那樣靜靜地躺著坯临,像睡著了一般。 火紅的嫁衣襯著肌膚如雪恋昼。 梳的紋絲不亂的頭發(fā)上看靠,一...
    開封第一講書人閱讀 49,821評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音液肌,去河邊找鬼挟炬。 笑死,一個(gè)胖子當(dāng)著我的面吹牛嗦哆,可吹牛的內(nèi)容都是我干的谤祖。 我是一名探鬼主播,決...
    沈念sama閱讀 38,960評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼老速,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼粥喜!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起烁峭,我...
    開封第一講書人閱讀 37,719評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤容客,失蹤者是張志新(化名)和其女友劉穎秕铛,沒(méi)想到半個(gè)月后约郁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,186評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡但两,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,516評(píng)論 2 327
  • 正文 我和宋清朗相戀三年鬓梅,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片谨湘。...
    茶點(diǎn)故事閱讀 38,650評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绽快,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤闽撤,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布毫深,位于F島的核電站,受9級(jí)特大地震影響前方,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜娘赴,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,936評(píng)論 3 313
  • 文/蒙蒙 一憾儒、第九天 我趴在偏房一處隱蔽的房頂上張望询兴。 院中可真熱鬧,春花似錦起趾、人聲如沸诗舰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,757評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)眶根。三九已至,卻和暖如春边琉,著一層夾襖步出監(jiān)牢的瞬間汛闸,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,991評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工艺骂, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留诸老,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,370評(píng)論 2 360
  • 正文 我出身青樓钳恕,卻偏偏與公主長(zhǎng)得像别伏,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子忧额,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,527評(píng)論 2 349

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

  • 這篇筆記主要包含 Vue 2 不同于 Vue 1 或者特有的內(nèi)容厘肮,還有我對(duì)于 Vue 1.0 印象不深的內(nèi)容。關(guān)于...
    云之外閱讀 5,046評(píng)論 0 29
  • Vue 實(shí)例 屬性和方法 每個(gè) Vue 實(shí)例都會(huì)代理其 data 對(duì)象里所有的屬性:var data = { a:...
    云之外閱讀 2,204評(píng)論 0 6
  • 1.安裝 可以簡(jiǎn)單地在頁(yè)面引入Vue.js作為獨(dú)立版本睦番,Vue即被注冊(cè)為全局變量类茂,可以在頁(yè)面使用了。 如果希望搭建...
    Awey閱讀 10,999評(píng)論 4 129
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理托嚣,服務(wù)發(fā)現(xiàn)巩检,斷路器,智...
    卡卡羅2017閱讀 134,633評(píng)論 18 139
  • vue.js官網(wǎng)教程學(xué)習(xí)筆記和學(xué)習(xí)摘要 起步 安裝 一個(gè)簡(jiǎn)單的方法示启,直接把一個(gè)vue.js引入你的HTML頁(yè)面中兢哭,...
    恰皮閱讀 3,366評(píng)論 2 22