1. 程式人生 > 實用技巧 >事件監聽v-on與修飾符

事件監聽v-on與修飾符

事件監聽v-on:
 <!--有一個引數傳入,1、沒有括號的,傳入的是瀏覽器的event事件    2、有括號沒有引數的 ,是undefined  3、有引數 ,正確執行方法-->
  <button @click = "btClick3">按鈕3</button>
  <button @click = "btClick3()">按鈕3()</button>
  <button @click = "btClick3('111')">按鈕3</button>
  <!--需要一個傳入一個引數,一個event事件 ,傳入瀏覽器event事件,$event-->
  <!-1、沒有括號的,第一個引數當做event ,第二個引數是undefined -->
  <!--2、有括號的沒有引數的,引數都是undefined -->
  <!-3、有括號,一個引數的,第一個引數執行,第二個是undefined -->
  <!--4、兩個引數都傳入,傳入瀏覽器event事件,$even
t,正確的--> <button @click = "btClick4">按鈕4</button> <button @click = "btClick4()">按鈕4()</button> <button @click = "btClick4('444')">按鈕4</button> <button @click = "btClick4('444',$event)">按鈕4</button>
修飾符: .stop:
  • .stop- 呼叫event.stopPropagation()
     修飾符的作用, 阻止冒泡

.prevent
  • .prevent- 呼叫event.preventDefault()
    .prevent修飾符的作用 ,阻止預設行為

keyup
  • .{keyCode | keyAlias}- 只當事件是從特定鍵觸發時才觸發回撥。
    監聽鍵盤的鍵出keyup,鍵入keydown,  鍵keyup.enter等

.once
  • .once- 只觸發一次回撥。

<
div id="app"> <form action="" style="margin: 10px"> <div>{{counter}}</div>
<!--v-on 原生寫法--> <button v-on:click = "counter++">按鈕+</button> <!--沒有引數傳入的方法 ,一致--> <button @click = "btClick2">按鈕2</button> <button @click = "btClick2()">按鈕2()</button> <!--有一個引數傳入,沒有括號的傳入的是瀏覽器的event事件,有括號沒有引數的 是undefined ,有引數 ,正確執行方法--> <button @click = "btClick3">按鈕3</button> <button @click = "btClick3()">按鈕3()</button> <button @click = "btClick3('111')">按鈕3</button> <!--需要一個傳入一個引數,一個event事件 ,傳入瀏覽器event事件,$event--> <!--沒有括號的,第一個引數當做event ,第二個引數是undefined --> <!--有括號的沒有引數的,引數都是undefined --> <!--有括號,一個引數的,第一個引數執行,第二個是undefined --> <!--兩個引數都傳入,傳入瀏覽器event事件,$event,正確的--> <button @click = "btClick4">按鈕4</button> <button @click = "btClick4()">按鈕4()</button> <button @click = "btClick4('444')">按鈕4</button> <button @click = "btClick4('444',$event)">按鈕4</button> </form> <!-- .stop 修飾符的作用, 阻止冒泡--> <div @click = "divClick"> aaaa <button @click.stop = "butClick">不冒泡按鈕</button> </div> <!-- .prevent修飾符的作用 ,阻止預設行為--> <form action="baidu"> <input type="submit" value= '阻止預設提交' @click.prevent = "subClick"> </form> <!-- 監聽鍵盤的鍵出keyup,鍵入keydown, 鍵keyup.enter--> <div> <input type="text" @keyup = "keyUp"> </div> <!-- .once 只觸發一次--> <div> <button @click.once = "onceClick">一次按鈕</button> </div> </div>