【发布时间】:2022-08-24 15:02:24
【问题描述】:
我想知道是否有办法将两个事件参数与 v-on (@) 一起使用。
前任:
<div @click:mouseover=\"someFunction\"></div>
而不是写:
<div @click=\"someFunction\" @mouseover=\"someFunction\"></div>
标签: javascript vue.js vuejs2 vuejs3
我想知道是否有办法将两个事件参数与 v-on (@) 一起使用。
前任:
<div @click:mouseover=\"someFunction\"></div>
而不是写:
<div @click=\"someFunction\" @mouseover=\"someFunction\"></div>
标签: javascript vue.js vuejs2 vuejs3
不,这是不可能的,每个事件都是单独处理的,但是还有另一种语法可以使用对象语法来处理事件:
<div @="{click:someFunction, mouseover:someFunction}"></div>
【讨论】:
不,每个事件都应该以一种或另一种方式指定。
如果您希望模板中的膨胀更少,可以通过对象绑定它们。
伪代码:
<template>
<div v-on="handlers" />
</template>
<script>
...
data() {
return {
handlers: {
'click': func,
'mouseover': func,
...
}
}
}
...
</script>
【讨论】:
mouseover,小写。