La aplicación en la que estoy trabajando tiene múltiples tiendas con módulos dentro. Me gustaría inyectar la tienda globalmente según la ruta de la ruta. ¿Es posible hacer esto?
import VueRouter from 'vue-router'; import Vuex from 'vuex'; Vue.use(VueRouter); Vue.use(Vuex); const router = new VueRouter({ routes: [ { path:"/", component:Homepage}, { path:"/Site", component:Sitepage} ], mode: 'history'); new Vue({router, store }).$mount('#app'); Tengo cada tienda en una lista, por ejemplo, stores = [HomepageStore, SitepageStore];
Intenté combinar las tiendas individuales y hacer una tienda completa de esta manera:
const store = new Vuex.Store({ modules: { HomepageStore, SitepageStore } });Esto muestra una página en blanco sin errores, aunque muestra los datos de la tienda y las rutas, no muestra ningún elemento en la página. No ayuda que ya tenga módulos dentro. Hay alrededor de 50 archivos almacenados, por lo que no quiero alterar cada uno por si acaso. Cualquier ayuda sería muy apreciada.
Solo para actualizar estoy usando vue 2.6.12 y vue-router 3.1.6
https://vuex.vuejs.org/guide/modules.html
Creo que su formato no es correcto por favor intente
const store = new Vuex.Store({ modules: { homepageStore: HomepageStore, sitepageStore: SitepageStore } });El acceso a sus tiendas se puede hacer con
this.$store.state.homepageStore.... this.$store.state.sitepageStore....O podría crear una variable global que tenga varias tiendas
window._globalStore = stores;