Open
Description
What problem does this feature solve?
This made namespaced module can be use like simple vuex store.
What does the proposed API look like?
store/modules/myModule.ts
export const myModule = {
state: {
count: 0
},
mutations: {
add(state, payload) {
state.count = state.count payload
}
}
}
lib/someLib.ts
import store from '@/store'
// the `myModule` is module path
const myModule = mapModule<IMyModule>(store, 'myModule')
console.log(myModule.state.count) // 0
myModule.commit('add', 2)
console.log(myModule.state.count) // 2
// for reuse or singleton?
export myModule