Массив состояний pu sh в vuex не является ошибкой функции - PullRequest
0 голосов
/ 07 февраля 2020

У меня есть массив в store / localStorage для сохранения идентификатора пользователя и рабочего времени. Однако функция array.pu sh не работает.

export const state = () => ({
    Total: []
})

export const mutations = {
    setTotal(state, value){
        state.Total.push(value);
    }
}

У меня есть в моем созданном:

this.$store.commit("localStorage/setTotal", {id: this.signedInUserID, time: 0});

Это ошибка, которую я получил:

TypeError: state.Total.pu sh не является функцией

1 Ответ

1 голос
/ 07 февраля 2020

Ваше состояние - это функция, которая возвращает объект. Вы сможете получить доступ к Total, вызвав функцию state, а затем поработав с возвращенным объектом следующим образом: state().Total.push(value).

Однако в Vuex вы создаете store, используя Vuex.Store().

const store = new Vuex.Store({
  state: {
    Total: []
  },
  mutations: {
    setTotal(state, value){
      this.state.Total.push(value);
    }
  }
});

Если вы хотите экспортировать мутации по причинам тестирования, вы можете сделать это, предварительно определив их, а затем назначив их в магазине Vuex.

...