vue v-on傳遞參數(shù)和事件修飾符的使用
1、v-on的基本用法
使用v-on:click給button綁定監(jiān)聽事件以及回調(diào)函數(shù),@是v-on:的縮寫,也就是簡寫也可以使用@click。方法一般是需要寫方法名加上(),在@click中可以省掉,如上述的<button @click="increment">加</button>。
以簡單的計數(shù)器為例
<body> <div id="app"> <h2>{{count}}</h2> <!-- <button v-on:click="count++">加</button> <button v-on:click="count--">減</button> --> <button @click="increment">加</button> <button @click="decrement">減</button> </div> <script> const app = new Vue({ el:"#app", data:{ count:0 }, methods: { increment(){ this.count++ }, decrement(){ this.count-- } } }) </script> </body>
v-on的參數(shù)傳遞
在methods中定義的方法,我們可以進行調(diào)用,可以帶上(),也可以不帶()
如下的btnClick的調(diào)用中,加了()想要調(diào)用,里面必須要有值,如果不加小括號,就只會調(diào)用事件對象。
btnClick3想要傳入event,需要在調(diào)用時寫$event,才能調(diào)用事件對象
<div id="app"> <!-- 事件沒傳參 --> <button @click="btnClick">按鈕1</button> <button @click="btnClick()">按鈕2</button> <!-- 事件調(diào)用方法傳參,寫函數(shù)時候省略小括號,但是函數(shù)本身需要傳遞一個參數(shù) --> <button @click="btnClick2(123)">按鈕3</button> <button @click="btnClick2()">按鈕4</button> <button @click="btnClick2">按鈕5</button> <!-- 事件調(diào)用時候需要傳入event還需要傳入其他參數(shù) --> <button @click="btnClick3($event,123)">按鈕6</button> </div> <script src="vue.js"></script> <script> const app = new Vue({ el:"#app", methods:{ btnClick(){ console.log("點擊XXX"); }, btnClick2(value){ console.log(value+"----------"); }, btnClick3(event,value){ console.log(event+"----------"+value); } } }) </script>
傳遞自定義參數(shù) : 函數(shù)調(diào)用傳參
代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <div id="app"> <input type="button" value="顯示傳參" @click="showParam('傳入?yún)?shù)')" /> </div> </body> <script src="js/vue.min.js"></script> <script> var Vm = new Vue({ el: "#app", data: {}, methods: { showParam: function (var1) { console.log("參數(shù):" + var1); }, }, }); </script> </html>
測試結(jié)果:
2、事件修飾符: 對事件觸發(fā)的方式進行限制
修改代碼
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> </head> <body> <div id="app"> <!-- 按鈕傳參 --> <!-- <input type="button" value="顯示傳參" @click="showParam('傳入?yún)?shù)')" /> --> <!-- 事件的后面跟上 .修飾符 可以對事件進行限制 --> <input type="text" @keyup.enter="test" /> </div> </body> <script src="js/vue.min.js"></script> <script> var Vm = new Vue({ el: "#app", data: {}, methods: { showParam: function (var1) { console.log("參數(shù):" + var1); }, test: function () { alert("事件修飾符導致的事件觸發(fā)!"); }, }, }); </script> </html>
測試結(jié)果
輸入框內(nèi)輸入內(nèi)容,按下回車鍵觸發(fā)事件的發(fā)生。
到此這篇關(guān)于vue v-on傳遞參數(shù)和事件修飾符的使用的文章就介紹到這了,更多相關(guān)vue v-on傳遞參數(shù) 事件修飾符內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用babel-plugin-import?實現(xiàn)自動按需引入方式
這篇文章主要介紹了使用babel-plugin-import?實現(xiàn)自動按需引入方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Vue監(jiān)聽Enter鍵的方法總結(jié)與區(qū)別
這篇文章主要給大家介紹了關(guān)于Vue監(jiān)聽Enter鍵的方法與區(qū)別的相關(guān)資料,在Vue中我們可以通過監(jiān)聽鍵盤事件來實現(xiàn)回車鍵切換焦點的功能,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2023-10-10vue打包報錯:ERROR in static/js/xxx.js from U
這篇文章主要介紹了vue打包報錯:ERROR in static/js/xxx.js from UglifyJs undefined問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-09-09Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作分析
這篇文章主要介紹了Vue開發(fā)之watch監(jiān)聽數(shù)組、對象、變量操作,結(jié)合實例形式分析了vue.js使用Watch針對數(shù)組、對象、變量監(jiān)聽相關(guān)操作技巧,需要的朋友可以參考下2019-04-04