說說 Vue.js 中的 v-on 事件指令

v-on 事件指令用于綁定事件。

1 基礎用法

v-on 指令綁定事件后,就會監(jiān)聽相應的事件数尿。

html:

<div id="app">
    <h3>已點擊 {{count}} 次</h3>
    <button @click="count++">點我</button>
</div>

注意: @clickv-on:click 的簡寫形式庆捺, @ 即表示 v-on:古今。

js:

<script>
    var app = new Vue({
        el: '#app',
        data: {
            count:0
        }
    });
</script>

效果:

@click 表達式即可以直接使用 js 語句,也可以是一個定義在 vue 實例中 methods 內(nèi)的函數(shù)名滔以。

html:

<button @click="quickAdd(3)">快速增長</button>

js:

methods: {
    quickAdd: function (i) {
        i = i || 1;//為避免參數(shù)為 null 或 undefined 值捉腥,這里設定了默認值 1
        this.count += i;
    }
}

效果:

注意: @click 調(diào)用的方法名如果不需要參數(shù),那么可以不寫括號你画。

使用 Vue.js 的一個好處是:當銷毀 ViewModel 時抵碟,會自動銷毀所有綁定在其上的事件處理器。

2 調(diào)用 DOM 事件

Vue.js 還提供了一個 $event 變量坏匪,使用它可以訪問原生 DOM 事件拟逮。$event 變量可以通過方法傳入。

html:

<div id="app2">
    <a href="www.163.com" @click="openUrl('被禁用咯',$event)">被禁用咯</a>
</div>

js:

var app2 = new Vue({
    el: '#app2',
    data: {
        count: 0
    },
    methods: {
        openUrl: function (param, event) {
            event.preventDefault();
            console.log("param:" + param);
        }
    }
});

輸出結果:

param:被禁用咯

這個示例利用傳入的 event 參數(shù)适滓,禁用了原有的鏈接跳轉(zhuǎn)邏輯敦迄。

3 事件修飾符

Vue.js 支持以下事件修飾符:

事件修飾符 示例 示例說明
.stop @click.stop 阻止單擊事件冒泡。
.prevent @submit.prevent 提交頁面不再重載頁面凭迹。
.capture @click.capture 添加事件監(jiān)聽器時使用事件捕獲模式颅崩。
.self @click.self 只有當單擊事件是元素的自身事件時,才會觸發(fā)蕊苗。
.once @click.once 只觸發(fā)一次沿后。

4 按鍵修飾符

可以使用按鍵修飾符,來監(jiān)聽表單元素上的鍵盤事件朽砰。

html:

<div id="app3">
    <input @keyup.13="enterClick">
</div>

js:

var app3 = new Vue({
    el: '#app3',
    data: {},
    methods: {
        enterClick: function () {
            console.log("enterClick");
        }
    }
});

輸出結果:

enterClick

這個示例演示了如何通過回車按鍵修飾符來綁定事件函數(shù)的過程尖滚。

除了使用 keycode 來指定按鍵之外,我們還可以使用以下這些按鍵別名:

  • .enter
  • .tab
  • .delete
  • .esc
  • .space
  • .up
  • .down
  • .left
  • .right

還有一些按鍵修飾符可以組合使用瞧柔,或者和鼠標一起使用:

  • .ctrl
  • .alt
  • .shift
  • .meta:Mac 下為 Command 鍵漆弄,Windows 下為窗口鍵。

html:

<div id="app4">
    <input @keyup.alt.83="save">
</div>

js:

var app4 = new Vue({
    el: '#app4',
    data: {},
    methods: {
        save: function () {
            console.log("save");
        }
    }
});

輸出結果:

save

這個示例造锅,我們通過組合按鍵修飾符撼唾,為輸入框綁定了 alt + S 事件。


本文示例(DEMO

?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末哥蔚,一起剝皮案震驚了整個濱河市倒谷,隨后出現(xiàn)的幾起案子蛛蒙,更是在濱河造成了極大的恐慌,老刑警劉巖渤愁,帶你破解...
    沈念sama閱讀 210,914評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件牵祟,死亡現(xiàn)場離奇詭異,居然都是意外死亡抖格,警方通過查閱死者的電腦和手機诺苹,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評論 2 383
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來雹拄,“玉大人收奔,你說我怎么就攤上這事∽揖粒” “怎么了筹淫?”我有些...
    開封第一講書人閱讀 156,531評論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長呢撞。 經(jīng)常有香客問我,道長饰剥,這世上最難降的妖魔是什么殊霞? 我笑而不...
    開封第一講書人閱讀 56,309評論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮汰蓉,結果婚禮上绷蹲,老公的妹妹穿的比我還像新娘。我一直安慰自己顾孽,他們只是感情好祝钢,可當我...
    茶點故事閱讀 65,381評論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著若厚,像睡著了一般拦英。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上测秸,一...
    開封第一講書人閱讀 49,730評論 1 289
  • 那天疤估,我揣著相機與錄音,去河邊找鬼霎冯。 笑死铃拇,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的沈撞。 我是一名探鬼主播慷荔,決...
    沈念sama閱讀 38,882評論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼缠俺!你這毒婦竟也來了显晶?” 一聲冷哼從身側(cè)響起贷岸,我...
    開封第一講書人閱讀 37,643評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吧碾,沒想到半個月后凰盔,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,095評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡倦春,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,448評論 2 325
  • 正文 我和宋清朗相戀三年户敬,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片睁本。...
    茶點故事閱讀 38,566評論 1 339
  • 序言:一個原本活蹦亂跳的男人離奇死亡尿庐,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出呢堰,到底是詐尸還是另有隱情抄瑟,我是刑警寧澤,帶...
    沈念sama閱讀 34,253評論 4 328
  • 正文 年R本政府宣布枉疼,位于F島的核電站皮假,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏骂维。R本人自食惡果不足惜惹资,卻給世界環(huán)境...
    茶點故事閱讀 39,829評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望航闺。 院中可真熱鬧褪测,春花似錦、人聲如沸潦刃。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽乖杠。三九已至分扎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間胧洒,已是汗流浹背笆包。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評論 1 264
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留略荡,地道東北人庵佣。 一個月前我還...
    沈念sama閱讀 46,248評論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像汛兜,于是被迫代替她去往敵國和親巴粪。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,440評論 2 348

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