vue 事件

  • 縮寫@html

  • 預期Function | Inline Statement | Objectcode

  • 參數eventcomponent

  • 修飾符orm

    • .stop - 調用 event.stopPropagation()
    • .prevent - 調用 event.preventDefault()
    • .capture - 添加事件偵聽器時使用 capture 模式。
    • .self - 只當事件是從偵聽器綁定的元素自己觸發時才觸發回調。
    • .{keyCode | keyAlias} - 只當事件是從特定鍵觸發時才觸發回調。
    • .native - 監聽組件根元素的原生事件。
    • .once - 只觸發一次回調。
    • .left - (2.2.0) 只當點擊鼠標左鍵時觸發。
    • .right - (2.2.0) 只當點擊鼠標右鍵時觸發。
    • .middle - (2.2.0) 只當點擊鼠標中鍵時觸發。
    • .passive - (2.3.0) 以 { passive: true } 模式添加偵聽器
  • 用法htm

    綁定事件監聽器。事件類型由參數指定。表達式能夠是一個方法的名字或一個內聯語句,若是沒有修飾符也能夠省略。對象

    用在普通元素上時,只能監聽原生 DOM 事件。用在自定義元素組件上時,也能夠監聽子組件觸發的自定義事件事件

    在監聽原生 DOM 事件時,方法以事件爲惟一的參數。若是使用內聯語句,語句能夠訪問一個 $event 屬性:v-on:click="handle('ok', $event)"get

    從 2.4.0 開始,v-on 一樣支持不帶參數綁定一個事件/監聽器鍵值對的對象。注意當使用對象語法時,是不支持任何修飾器的。input

  • 示例it

    <!-- 方法處理器 -->
    <button v-on:click="doThis"></button>
    
    <!-- 內聯語句 -->
    <button v-on:click="doThat('hello', $event)"></button>
    
    <!-- 縮寫 -->
    <button @click="doThis"></button>
    
    <!-- 中止冒泡 -->
    <button @click.stop="doThis"></button>
    
    <!-- 阻止默認行爲 -->
    <button @click.prevent="doThis"></button>
    
    <!-- 阻止默認行爲,沒有表達式 -->
    <form @submit.prevent></form>
    
    <!--  串聯修飾符 -->
    <button @click.stop.prevent="doThis"></button>
    
    <!-- 鍵修飾符,鍵別名 -->
    <input @keyup.enter="onEnter">
    
    <!-- 鍵修飾符,鍵代碼 -->
    <input @keyup.13="onEnter">
    
    <!-- 點擊回調只會觸發一次 -->
    <button v-on:click.once="doThis"></button>
    
    <!-- 對象語法 (2.4.0+) -->
    <button v-on="{ mousedown: doThis, mouseup: doThat }"></button>

    在子組件上監聽自定義事件 (當子組件觸發「my-event」時將調用事件處理器):

    <my-component @my-event="handleThis"></my-component>
    
    <!-- 內聯語句 -->
    <my-component @my-event="handleThis(123, $event)"></my-component>
    
    <!-- 組件中的原生事件 -->
    <my-component @click.native="onClick"></my-component>
相關文章
相關標籤/搜索