vuex ,Getter 里调用 Mutation,应该用什么思路实现呢?

vuex

state: {
    list: {
        a: {},
        b: {}
    }
},
mutations: {
    setItem : (state, {id, data}) => {
        state.list[id] = data
    }
},
getters: {
    getItem: state => ({ id}) => {
         if (state.list[id]){
             return state.list[id]
         } else {
             // 这里需要调用其他方法 `getItem` 获取 state.list[id] 并更新它
             // const result = getItem(id)
             // setItem({id ,data: result})
             return state.list[id]
         }
    }
}

请问这种场景应该如何实现呢?怎么写比较合理?

阅读 5.5k
2 个回答

const store = new Vuex.Store 可以直接把这个store暴露出来使用store.commit()

getter里面还是不要放逻辑了吧,逻辑判断放在业务代码里

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题