Vuex根据state 生成 getters 、mutations

const state = {
  name:'',
  age:11
}
const _getters = {}
const _mutations = {}
for (let k in state) {
    _getters[k] = state => state[k]
      // mutation 以set开头加state名驼峰
    _mutations['set'+k.replace(/[a-z]/, (L) => L.toUpperCase())] = (state,payload)=>{
        state[k] = payload
    }
}
const actions = {
  action(context){
      context.commit('setName','TOM')
  }
}
const getters = {
  ... _getters,{getter1(){},getter2(){}}
}
const mutations = {
  ... _mutations,{mutation1(){},mutation2(){}}
}
const store = new Vuex.Store({
    state,getters,actions,mutations
})
export default store
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容