Recientemente, comencé a usar la nueva versión Vue3 del código, sin embargo, encontré algunos problemas al usar defineEmits.
Problema 1: defineEmits siempre devuelve nulo.
Problema 2: Error de referencia de recepción: "defineEmits no definido" cuando se usa sin importar desde vue. Una vez que importa desde vue, el error desaparece. Pero, según el estándar, si lo usamos dentro de la API de configuración, no es necesario importarlo.
¿Puedes decirme si me estoy perdiendo algo o si estoy haciendo algo mal?
Ejemplo del Problema 1:
<template> <div @click="onClose">This is example 1</div> </template> <script setup lang='ts'> import {defineEmits} from 'vue'; const emit = defineEmits(['close']);//return value always null const onClose = conputed(()=> { emit('close'); // Due to null value in emit, this line throw exception })Ejemplo del Problema 2:
<template> <div @click="onClose">This is example 1</div> </template> <script setup lang='ts'> const emit = defineEmits(['close']);//error - ReferenceError - deinfeEmits not defined const onClose = conputed(()=> { emit('close'); }) </script>