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

146
Vistas
¿Hay alguna manera de agregar Vuex a la función de instalación del complemento Vue y compartir el estado entre sus componentes?

Básicamente, quiero usar mi propia tienda dentro de vue install y los componentes de vue que agrego a través de mi complemento vue.

Descubrí que puedo usar vuex dentro de la función de instalación real y hacer todo lo que vuex puede hacer, pero parece que no puedo pasarlo a mis componentes personalizados.

¿Hay alguna otra forma de agregar eventos globales en mis SFC que agregue dentro de mi complemento?

 import MyComponent from './MyComponent.vue' import MySecondComponentfrom './MySecondComponent.vue' import Vuex from 'vuex' import store from './store.js' const CustomFn = function(message, options) { this.$store.dispatch("someRandomAction", { message, options }) } export default { install(Vue, options) { if (this.installed) { return } this.installed = true Vue.use(Vuex) const storeInstance = new Vuex.Store(store) Vue['store'] = storeInstance // is there a way to add storeInstance to my own components and share one state between them? Vue.component('MyComponent', Vue.extend(MyComponent)) Vue.component('MySecondComponent', Vue.extend(MySecondComponent)) Vue.prototype['$doStuff'] = CustomFn Vue['doStuff'] = CustomFn } }

El problema es que no puedo pasar esta instancia de la tienda Vuex dentro de MyComponent y compartir la misma tienda entre varios componentes.

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

0

Se supone que las propiedades de los componentes personalizados se proporcionan globalmente en Vue 2 asignándolas a Vue.prototype porque las instancias de los componentes heredan prototípicamente de él.

new Vuex.Store(store) es un error si store ya es una tienda Vuex y no un objeto simple que contiene opciones de tienda. Esto resultará en un mal funcionamiento de la tienda como se muestra en esta pregunta . Incluso si store aún no es una instancia de la tienda, tiene sentido convertirla en una instancia y exportarla en un módulo separado para que pueda importarse en módulos que no sean componentes.

Debería ser:

 Vue.prototype.$store = store
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