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

158
Vistas
¿Puedo hacer referencia a variables globales en una función componible?

Estoy en el proceso de convertir un proyecto de API de opciones de Vue 2 a API de composición de Vue 3. En un componente api de opciones, tengo una variable llamada componentData , y desde este componente estoy llamando a un mixin. Cuando llamo al mixin, puedo acceder a todas las variables del componente desde el interior del mixin, aquí hay un ejemplo:

 //myMixin.js export default { methods: { data_changed() { //where componentData is declared in the component console.log(this.componentData) this.componentData = [1, 2, 3] }, data() { return { someVar: null } } }

Tengo muchos problemas para hacer lo mismo con la API de composición. En lugar de mixins, tengo componibles, así que digamos que tengo un componente donde declaro una variable:

 import { ref } from 'vue' import { testData } from '../mixins/useData.js' export default { setup() { const componentData = ref([]) testData() } }

Y mi useData.js componible:

 export function testData() { console.log(componentData.value) //undefined componentData.value = [1, 2, 3] //will throw error }

En este caso, el componible devolverá undefined . ¿Cómo puedo acceder a los datos del componente sin pasarlos como parámetros de función? ¿Es porque en Vue3 se supone que los componibles solo devuelven un valor y no funcionan igual que los mixins? ¿Es posible cambiar el valor de componentData del componible?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Podrías pasar la ref como argumento a testData() :

 // useData.js export function testData(componentData) { componentData.value = [1, 2, 3] ✅ }
 // MyComponent.vue import { ref } from 'vue' import { testData } from '../mixins/useData.js' export default { setup() { const componentData = ref([]) 👇 testData(componentData) } }
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