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

134
Vistas
¿Cómo compartir correctamente las variables reactivas configuradas en el gancho onMounted en la API de composición de Vue 3?

lea el siguiente código (incorrecto). ¿Cómo puedo arreglarlo?

Mi problema es que estoy tratando de compartir varias variables, que deberían ser reactivas, entre diferentes componibles y la aplicación principal.

Todas esas variables necesitan que se les asigne DOM, por lo tanto, necesitan un gancho montado. Por lo tanto, useDropzones y usePanels asignan variables tanto en la aplicación principal como en la montada. Y todas esas variables son de uso cruzado entre las entidades citadas. Pero, de hecho, estarán todos indefinidos, obviamente. ¿Como arreglar?

 const vueapp = Vue.createApp({ setup(props, {attrs, slots, emit}){ let validators = reactive([]); let panels = reactive([]); let code = null; useDropzones(code); // assigned by main app's onMounted usePanels(panels, validators); // it will populate panels, onmounted, used by main app below, onmounted onMounted(() => { nextTick(() => { code = form_elem.find('input[name="form-code"]').val(); // here I'm setting code variable, used by useDropzones() _.each(panels, function(panel, index){ // TODO: native? // execute code that populates validators, used by usePanels() }.bind(this)); }); // nexttick }); // onmounted return {} }, });
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Mueva la useDropzones(code) a onMounted() cuando haya establecido el code en la referencia del elemento:

 Vue.createApp({ setup() { // ⛔️ moved into onMounted // let code = null; // useDropzones(code); onMounted(() => { nextTick(() => { const code = form_elem.find('input[name="form-code"]').val(); useDropzones(code); }) }) } })
about 4 years ago · Juan Pablo Isaza 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