Я думаю $listeners
может быть то, что вам нужно.Это объект, который содержит всех родительских слушателей, и он может быть перенаправлен дочерним элементам с v-on="$listeners"
.
Например, у вас есть компонент оболочки <button>
, и вы хотите, чтобы все слушатели в оболочке были связанына кнопку:
// MyButtonWrapper.vue
<template>
<button v-on="$listeners">Click</button>
</template>
// Parent.vue
<template>
<!-- click and mouseover listeners are bound to inner button -->
<MyButtonWrapper @click="onClick" @mouseover="@mouseover" />
</template>
демо