三種方式
<button @click="handleClick1()">click1-通過函數調用</button>
<button @click="handleClick2">click2-通過函數名</button>
<button @click=" count++ ">click3-通過表達式</button>
不加括號能獲取事件源
<input type="text" @input="handleInput">
<div>{{ text }}</div>
<!-- 不加括號會傳將事件對象 -->
handleInput(ev) {
// 獲取事件源 ev.target
// 獲取事件值 ev.target.value
this.text = ev.target.value
}
實現輸入和同步的功能即想傳參又想傳事件對象
<input type="text" @input="handleInput($event, 'fbb')">
加上$說明不是隨隨便便的參數 是把事件對象傳出來
事件修飾符
事件冒泡
<ul @click="handleUlClick">
<li @click="handleLiClick">11111</li>
<li @click="handleLiClick">11111</li>
<li @click="handleLiClick">11111</li>
</ul>
<script>
handleUlClick() {
console.log("ul-父級觸發(fā)")
},
handleLiClick() {
console.log("li-子級觸發(fā)")
}
</script>
阻止冒泡
方法一. ev.stopPropagation() //阻止冒泡
方法二. <li @click.stop="handleLiClick">11111</li>
<ul @click.self="handleUlClick">
stop 和 self Vue提供的事件修飾符
例如:
<a @click.prevent="handleAClick"> 跳轉頁面 </a>
<!-- @click.prevent 阻止默認行為 a標簽的跳轉 -->
<button @click.once="handleBtnClick">點擊</button>
<!-- @click.once點完一次立即解綁 -->
按鍵修飾符
<P>回車提交<input type="text" v-model="myText" @keydown.enter="handleKeyDown"></P>
--@keydown.enter 點擊回車觸發(fā)函數
---可以根據鍵值觸發(fā)函數
----@keydown.87 是 w
----等等。。瓣蛀。