Vuex: невозможно передать состояние при мутации в шаблоне модуля.Совершить мутацию без аксиоса - PullRequest
0 голосов
/ 29 января 2019

Я хочу получить state на моем mutations.

У меня есть store.js вроде:

export const store = new Vuex.Store({
  state: {
    server: 'something'
  },
  modules: {
    Product,
    Cart
  }
})

Затем на моем product.js модуле.Я могу получить store server в getters, но не могу использовать в mutations.Ps мне нужно commit без axios ..

export default{

    state :{
        abc: 'asdfasf'
    },

    getters :{
        getServer : (state, getters, rootState) =>{
            return rootState.server; //It works fine.
        },

    },
    mutations :{
        UPDATE(state,rootState){
            console.log(state.getters.getServer); //this wont work
            state.abc = rootState.serve; //something like this won't work 
            either
        }
    }

}

1 Ответ

0 голосов
/ 30 января 2019

Нет способа получить доступ к rootState в мутациях.Но вы можете сделать это в actions и затем вызвать мутации для фиксации состояния

actions:  {
  updateServer ({commit, rootState}) {
    commit('UPDATE', rootState.serve)
  }
},
mutations: {
  UPDATE (state, payload){
     state.abc = payload
 }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...