VUE3基礎學習之click事件詳解
1. 概述
老話說的好:努力幫別人解決難題,你的難題也就不難解決瞭。
言歸正傳,今天我們來聊聊 VUE3 的 click 事件的相關知識。
2. click 事件
2.1 實現數字遞減
<body> <div id="myDiv"></div> </body> <script> const app = Vue.createApp({ // 創建一個vue應用實例 data() { return { num : 5 } }, methods : { decr() { if(this.num <= 0) { alert("庫存為0,無法購買") return; } this.num-- ; }, }, template : ` <div> 商品庫存剩餘 {{num}} 件 <button @click="decr">購買</button><br> </div> ` }); const vm = app.mount('#myDiv'); // 綁定id為 myDiv 的元素
該例中,每點一次按鈕,商品庫存都會減 1
2.2 事件方法中獲取 event 對象
decr(event) { console.info(event); console.info(event.target); if(this.num <= 0) { alert("庫存為0,無法購買") return; } this.num-- ; },
方法中可以獲取 event 對象,從中可以獲取一些事件信息
2.3 事件方法中增加參數
methods : { decr(n) { if(this.num < 2) { alert("庫存不足,無法購買") return; } this.num -= n; }, }, template : ` <div> 商品庫存剩餘 {{num}} 件 <button @click="decr(2)">購買2件</button><br> </div> `
事件方法 decr 中增加瞭參數 n,依據參數進行計算
2.4 有參事件方法中獲取 event 對象
methods : { decr(n, event) { console.info(event); console.info(event.target); if(this.num < 2) { alert("庫存不足,無法購買") return; } this.num -= n; }, }, template : ` <div> 商品庫存剩餘 {{num}} 件 <button @click="decr(2, $event)">購買2件</button><br> </div> `
2.5 點擊按鈕執行多個方法
methods : { f1() { alert("f1") }, f2() { alert("f2") }, }, template : ` <div> <button @click="f1(), f2()">執行多個方法</button><br> </div> `
2.6 事件冒泡
methods : { clickDiv() { alert("div"); }, clickButton() { alert("button"); } }, template : ` <div @click="clickDiv"> <button @click="clickButton">事件冒泡</button><br> </div> `
點擊按鈕,會先執行 button 上的 click 事件,然後執行 div 上的 click 事件
2.7 阻止冒泡
template : ` <div @click="clickDiv"> <button @click.stop="clickButton">阻止事件冒泡</button><br> </div> `
如果我們希望點擊按鈕時隻執行按鈕的事件,可以在按鈕上使用 @click.stop 的寫法阻止事件冒泡。
2.8 事件捕獲
template : ` <div @click.capture="clickDiv"> <button @click="clickButton">事件捕獲</button><br> </div> `
如果希望先執行 div 事件,再執行 button 的事件,可以在 div 上使用 @click.capture 的寫法,讓事件由外向內執行
2.9 事件隻執行一次
template : ` <div @click.once="clickDiv"> <button @click="clickButton">事件</button><br> </div> `
在 div 上使用 @click.once ,這樣 div 的事件,隻會被執行一次
3. 綜述
今天聊瞭一下 VUE3 的 click 事件,希望可以對大傢的工作有所幫助
到此這篇關於VUE3基礎學習之click事件的文章就介紹到這瞭,更多相關VUE3之click事件內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!