Vuex не распознает мутацию - PullRequest
0 голосов
/ 26 декабря 2018

Это мой корневой магазин vuex.

export default new Vuex.Store({
  state: {
    account: {}
  },
  mutations: {
    set_account(state,payload) {
      console.log("I AM INSIDE MUTATIONS", )
    }
  },
  actions: {
    setAccount({
      commit
    }, payload) {
      return new Promise((resolve, reject) => {
        commit(set_account, payload)
        resolve()
      })
    }
  },
  plugins: [vuexLocal.plugin],
  modules: {
    auth,
    update
  }
});

Здесь после заданного действия учетной записи я совершаю set_account мутацию.Но там написано:

set_account не определено

Почему это могло произойти?

1 Ответ

0 голосов
/ 26 декабря 2018

Попробуйте использовать commit() с типом , первый аргумент, представляющий собой строку, равную 'set_account', с именем соответствующего имени функции действия:

export default new Vuex.Store({
  state: {
    account: {}
  },
  mutations: {
    set_account(state,payload) {
      console.log("I AM INSIDE MUTATIONS", )
    }
  },
  actions: {
    setAccount({
      commit
    }, payload) {
      return new Promise((resolve, reject) => {
        commit('set_account', payload)
        resolve()
      })
    }
  },
  plugins: [vuexLocal.plugin],
  modules: {
    auth,
    update
  }
});

ИзVuex документация для коммита:

коммит (тип: string, payload ?: any, options ?: Object)

type,Первый аргумент должен быть строкой, которая в этом случае должна соответствовать имени функции set_account.Не будучи строкой, он пытается вычислить выражение set_account, которое фактически не определено в текущем контексте выполнения.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...