У меня есть компонент, который имеет действие для удаления элементов. В конце этой операции я хотел бы сообщить родительскому компоненту, чтобы он обновил свои данные.
<template>
<div class = "q-pa-md row items-start q-gutter-md">
<div v-for = "media in mediaItems" :key = "media.uuid" >
<MediaItemComponent :media = "media" @delete = "actionDelete" />
</div>
</div>
</template>
Сценарий:
const actionDelete = (id: string) => {
$q.dialog({
dark: true,
title: 'Confirm',
message: 'Do you really want to delete the image?',
cancel: true,
persistent: true
})
.onOk(async () => {
const success = await mediaStore.deleteMediaItem(id)
if (success) {
$q.notify({
message: 'Image has been deleted successfully',
color: 'positive',
position: 'bottom'
})
// ----> Inform the parent component to refresh its list
this.$emit('refreshList')
}
})
.onCancel(() => {
$q.notify({
message: 'Action Cancelled',
color: 'negative',
position: 'bottom',
})
})
}
Как я могу сообщить родительскому компоненту, что он должен обновить список? Я читал об использовании this.$emit, но this здесь не определен.





В API композиции:
<script setup>
const $emit = defineEmits(['refreshList']);
//later in code
$emit('refreshList');
</script>