Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

288
Vistas
¿Cómo usar tanto los accesorios como los montados () con NuxtJS?

Soy nuevo en NuxtJS y me gustaría usar window.addEventListener en un componente particular usado en mi página, pero también eliminar el evento cuando cambiamos la página.

En React, haría algo como esto:

 export default function MyComponent({ close }) { useEffect(() => { const handleKey = (e) => console.log(e.key); window.addEventListener("keyup", handleKey); return () => window.removeEventListener("keyup", handleKey); }); return <div /> }

Pero, ¿cómo hago el mismo comportamiento con NuxtJS 3?

 <script setup lang="ts"> interface ComponentProps { close: () => void; } const props = defineProps<ComponentProps>(); // I want to use `window.addEventListener("keyup", props.close)`; // I'd do something like this: if (process.client) { window.addEventListener("keyup", props.close); } </script> <template> <div /> </template>

El problema es ¿cómo elimino el evento una vez que el componente se desmontará? ¿Hay una mejor manera de hacer esto?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Se monta un gancho en el lugar correcto para la inicialización específica de DOM, esto no requerirá la verificación de process.client porque ocurre solo en el lado del cliente. Y está reflejado con gancho desmontado.

Es preferible forzar una devolución de llamada para que sea constante durante la vida útil porque cambiar un accesorio sin querer evitará que se elimine el detector de eventos:

 const { close } = props; onMounted(() => { window.addEventListener("keyup", close); }) onUnmounted(() => { window.removeEventListener("keyup", close); })
about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda