vue.js - tutorial - vuex modulos
¿Cómo acceder a los captadores y mutaciones del módulo Vuex? (2)
Estoy intentando cambiar a Vuex en lugar de mi objeto de tienda de cosecha propia, y debo decir que no estoy encontrando los documentos tan claros como en cualquier otra parte del mundo Vue.js. Digamos que tengo un módulo de Vuex llamado ''productos'', con su propio estado, mutaciones, captadores, etc. Los documentos dan este ejemplo de acceso al estado de un módulo:
store.state.a // -> moduleA''s state
Pero nada puedo ver acerca de captadores, mutaciones, acciones, etc.
Además de la respuesta aceptada, quiero proporcionarle un campo de trabajo para el captador que falta en la respuesta.
Depurar la tienda
En cualquier caso, puede llamar a console.log(this.$store)
para depurar la Tienda.
Si lo haces, verás que los captadores tienen el prefijo con el espacio de nombres en su nombre.
Acceso a espacios de nombre getter
this.$store.getters[''yourModuleName/someGetterMethod'']
Desplazar espacio de nombres
this.$store.dispatch(''yourModuleName/doSomething'')
Conclusión
La clave es manejar el espacio de nombres como un sistema de archivos como Justin explicó.
Edición: encontré una buena biblioteca para manejar vuex Store
Además del conocimiento básico, me gustaría agregar esta biblioteca vuex como un buen complemento para trabajar de manera efectiva y rápida con la tienda vuex. https://github.com/davestewart/vuex-pathify .
Parece bastante interesante y le importa gran parte de la configuración y también le permite manejar 2waybinding directamente con vuex.
En su ejemplo, sería store.dispatch(''products/clearWorkingData'')
usted puede pensar en las acciones / mutaciones como un sistema de archivos de alguna manera. Cuanto más profundos están anidados los módulos, más profundo está en el árbol.
así que puedes ir a store.commit(''first/second/third/method'')
si tuvieras un árbol que tuviera tres niveles de profundidad.