У меня есть обработчики событий, переданные родительскому элементу, а затем дочернему элементу через выделенные слоты Как мне написать так, чтобы я все еще мог получить доступ к модификаторам событий Vue? Мне нужно что-то эквивалентное @dragenter.prevent.self="someAction()"
// DragAndDropUploader.vue
<template>
<div>
<slot :events="eventHandlers"></slot>
</div>
</template>
<script>
export default {
computed: {
eventHandlers() {
return {
dragover: event => event.preventDefault(),
dragenter: event => {
event.preventDefault()
}
drop: event => {
event.preventDefault()
this.performAction(event)
}
}
}
}
methods: {
performAction(){
console.log('hi')
}
}
}
// ParentComponent.vue
<template>
<drag-and-drop-uploader v-slot="{ events }">
<div v-on="events">
<image-picker></image-picker>
</div>
</drag-and-drop-uploader>
</template>