Магазин Vuex не обновляет состояние - PullRequest
1 голос
/ 11 октября 2019

Мое приложение имеет небольшую функцию, которая, если пользователь щелкает конкретное изображение, должна удаляться списком и перемещаться в другое в магазине Vuex.

Это действительно просто:

// Action
  async movePicture({ commit }, data) {
    try {
      const comment = await this.$axios.$post('/photo-check', data)
      commit('MOVE_PHOTO', photoId)
    } catch (error) {
      throw error.response
    }
  },

  // Mutation
  MOVE_PHOTO: (state, id) => {
    const i = _.findIndex(state.list, p => p.id === id)
    if (i > -1) {
      const photo = state.list[i]
      state.list.splice(i, 1)
      state.visited.push(photo)
    }
  },

Дело в том, что, к сожалению, эта картинка не склеится с list, и я не понимаю, почему ... Может быть, я должен использовать что-то конкретное для обновления массивов в Vuex, а я этого не знаю ... Также я не могу найти другое решение, чем это ...

1 Ответ

0 голосов
/ 11 октября 2019

JavaScript плохо справляется с этими ситуациями.

Вы должны использовать

this.$delete(state.list, index)

Vue.delete делает магический бит для вас.

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