vue v-on傳遞參數(shù)和事件修飾符的使用
1、v-on的基本用法
使用v-on:click給button綁定監(jiān)聽事件以及回調(diào)函數(shù),@是v-on:的縮寫,也就是簡(jiǎn)寫也可以使用@click。方法一般是需要寫方法名加上(),在@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í)寫$event,才能調(diào)用事件對(duì)象
<div id="app">
<!-- 事件沒傳參 -->
<button @click="btnClick">按鈕1</button>
<button @click="btnClick()">按鈕2</button>
<!-- 事件調(diào)用方法傳參,寫函數(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)容,按下回車鍵觸發(fā)事件的發(fā)生。

到此這篇關(guān)于vue v-on傳遞參數(shù)和事件修飾符的使用的文章就介紹到這了,更多相關(guān)vue v-on傳遞參數(shù) 事件修飾符內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
vue3 + ts + pnpm:nprogress / 頁
NProgress是一款輕量級(jí)的進(jìn)度條庫,主要用于網(wǎng)頁頂部顯示頁面加載或運(yùn)行進(jìn)度,它易于安裝和使用,并提供良好的視覺效果,NProgress也可以與VueRouter結(jié)合使用,通過導(dǎo)航守衛(wèi)在路由跳轉(zhuǎn)時(shí)自動(dòng)顯示和隱藏進(jìn)度條,該庫的使用提高了用戶對(duì)網(wǎng)頁加載狀態(tài)的感知,優(yōu)化了用戶體驗(yàn)2024-09-09
說說如何在Vue.js中實(shí)現(xiàn)數(shù)字輸入組件的方法
這篇文章主要介紹了說說如何在Vue.js中實(shí)現(xiàn)數(shù)字輸入組件的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-01-01
vue2.0結(jié)合Element-ui實(shí)戰(zhàn)案例
這篇文章主要介紹了vue2.0結(jié)合Element-ui實(shí)戰(zhàn)案例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2019-03-03
vue中動(dòng)態(tài)權(quán)限控制的實(shí)現(xiàn)示例
動(dòng)態(tài)權(quán)限控制通過后端獲取用戶權(quán)限數(shù)據(jù),前端動(dòng)態(tài)生成路由菜單及按鈕權(quán)限,結(jié)合路由守衛(wèi)與自定義指令實(shí)現(xiàn)訪問控制,具有一定的參考價(jià)值,感興趣的可以了解一下2025-08-08
vxe-table中vxe-grid(高級(jí)表格)的使用方法舉例
vxe-table是一個(gè)基于vue的表格組件,下面這篇文章主要給大家介紹了關(guān)于vxe-table中vxe-grid(高級(jí)表格)的使用方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-05-05

