Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

347
Visualizações
Vue 3 - emitir no es una función

Tengo un problema extraño al usar emit en Vue 3 Composición API + Vite.

Quiero hacer una emisión simple de un componente secundario a uno principal.

El código del niño:

 <template> <div class="main-stats"> <v-container @click="logInWithSpotify" class="boton-login"> Iniciar sesión con Spotify </v-container> </div> </template> <script setup> const emits = defineEmits(["logInIsCorrect"]); function logInWithSpotify() { emits.logInIsCorrect(true); } </script>

El único propósito del hijo es presionar el botón y llamar al emisor al padre a través de un método personalizado llamado logInWithSpotify()

El código del padre:

 <template> <v-app> <v-main class="main"> <v-template v-if="userIsLoged"> <MainStats /> </v-template> <v-template v-else> <Login @logInIsCorrect="setLogInIsCorrect" /> </v-template> </v-main> </v-app> </template> <script setup> import { ref, defineAsyncComponent } from "vue"; import Login from "./components/Login.vue"; const MainStats = defineAsyncComponent(() => import("./components/MainStats.vue")); const userIsLoged = ref(false); function setLogInIsCorrect(value) { console.log(value); userIsLoged.value = value; } </script>

El comportamiento esperado es que cuando se presiona el botón del componente secundario, el emisor que tiene un parámetro "verdadero" llega al principal y cambia la variable userIsLogged a ese "verdadero".

Lo curioso es que ayer el código funcionaba perfectamente, hoy no.

En la consola, aparece:

ingrese la descripción de la imagen aquí

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

Oye, estoy editando mi respuesta:

Siento que el problema está en tu setup

 <script setup> const emits = defineEmits(["logInIsCorrect"]); function logInWithSpotify() { emits.logInIsCorrect(true); } </script>

Después de leer este blog rápido: https://www.angularfix.com/2022/03/uncaught-typeerror-emit-is-not-function.html

no seria asi:

 <script setup> const emits = defineEmits(["logInIsCorrect"]); function logInWithSpotify(val) { emits(logInIsCorrect, val); } </script>

Y luego pasas tu Val a LoginWithSpotify(true)

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda