vue v-on傳遞參數(shù)和事件修飾符的使用
1、v-on的基本用法
使用v-on:click給button綁定監(jiān)聽(tīng)事件以及回調(diào)函數(shù),@是v-on:的縮寫(xiě),也就是簡(jiǎn)寫(xiě)也可以使用@click。方法一般是需要寫(xiě)方法名加上(),在@click中可以省掉,如上述的<button @click="increment">加</button>。
以簡(jiǎn)單的計(jì)數(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中定義的方法,我們可以進(jìn)行調(diào)用,可以帶上(),也可以不帶()
如下的btnClick的調(diào)用中,加了()想要調(diào)用,里面必須要有值,如果不加小括號(hào),就只會(huì)調(diào)用事件對(duì)象。
btnClick3想要傳入event,需要在調(diào)用時(shí)寫(xiě)$event,才能調(diào)用事件對(duì)象
<div id="app"> <!-- 事件沒(méi)傳參 --> <button @click="btnClick">按鈕1</button> <button @click="btnClick()">按鈕2</button> <!-- 事件調(diào)用方法傳參,寫(xiě)函數(shù)時(shí)候省略小括號(hào),但是函數(shù)本身需要傳遞一個(gè)參數(shù) --> <button @click="btnClick2(123)">按鈕3</button> <button @click="btnClick2()">按鈕4</button> <button @click="btnClick2">按鈕5</button> <!-- 事件調(diào)用時(shí)候需要傳入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("點(diǎn)擊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>
測(cè)試結(jié)果:
2、事件修飾符: 對(duì)事件觸發(fā)的方式進(jìn)行限制
修改代碼
<!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ù)')" /> --> <!-- 事件的后面跟上 .修飾符 可以對(duì)事件進(jìn)行限制 --> <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("事件修飾符導(dǎo)致的事件觸發(fā)!"); }, }, }); </script> </html>
測(cè)試結(jié)果
輸入框內(nèi)輸入內(nèi)容,按下回車(chē)鍵觸發(fā)事件的發(fā)生。
到此這篇關(guān)于vue v-on傳遞參數(shù)和事件修飾符的使用的文章就介紹到這了,更多相關(guān)vue v-on傳遞參數(shù) 事件修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
使用babel-plugin-import?實(shí)現(xiàn)自動(dòng)按需引入方式
這篇文章主要介紹了使用babel-plugin-import?實(shí)現(xiàn)自動(dòng)按需引入方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12Vue監(jiān)聽(tīng)Enter鍵的方法總結(jié)與區(qū)別
這篇文章主要給大家介紹了關(guān)于Vue監(jiān)聽(tīng)Enter鍵的方法與區(qū)別的相關(guān)資料,在Vue中我們可以通過(guò)監(jiān)聽(tīng)鍵盤(pán)事件來(lái)實(shí)現(xiàn)回車(chē)鍵切換焦點(diǎn)的功能,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2023-10-10vue-cli腳手架的.babelrc文件用法說(shuō)明
這篇文章主要介紹了vue-cli腳手架的.babelrc文件用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-09-09vue打包報(bào)錯(cuò):ERROR in static/js/xxx.js from U
這篇文章主要介紹了vue打包報(bào)錯(cuò):ERROR in static/js/xxx.js from UglifyJs undefined問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-09-09Vue開(kāi)發(fā)之watch監(jiān)聽(tīng)數(shù)組、對(duì)象、變量操作分析
這篇文章主要介紹了Vue開(kāi)發(fā)之watch監(jiān)聽(tīng)數(shù)組、對(duì)象、變量操作,結(jié)合實(shí)例形式分析了vue.js使用Watch針對(duì)數(shù)組、對(duì)象、變量監(jiān)聽(tīng)相關(guān)操作技巧,需要的朋友可以參考下2019-04-04