Мутация не совершает состояние vuex - Nuxt - PullRequest
0 голосов
/ 27 марта 2019

Я работаю над приложением vuex, на другой странице я фиксирую изменения, чтобы заявить о его работоспособности, но здесь, на этой конкретной странице, я получаю некоторые данные из API и сохраняю их в хранилище, но они застряли в мутации, я получение всех данных с мутационной нагрузкой, но это не влияет на изменения. Пожалуйста, проверьте скриншот и код,

Я не могу создать скрипку, потому что она там работает

Получение предметов

async getItems () {
   await this.$axios.get(`/api/projects/w/latest/all`)
       .then(response => {
          this.$store.commit('project/UPDATE_PROJECTS', response.data.items)
        });
 }

Действие

updateProjectsAction (context, projects) {
    context.commit('UPDATE_PROJECTS', projects)
},

Мутация

UPDATE_PROJECTS (state, payload ) {
    state.projects = payload
}

Состояние

projects: {},

Ответ enter image description here enter image description here

Когда я нажимаю «загрузить состояние» или фиксирую эти изменения вручную, возникает ошибка.

enter image description here

1 Ответ

0 голосов
/ 27 марта 2019

При получении предметов

this.$store.commit('project/UPDATE_PROJECTS', response.data.items)

Вы должны изменить его на

this.$store.dispatch('project/updateProjectsAction', response.data.items)

В действии вы должны изменить

updateProjectsAction ({commit}, projects) {
commit('UPDATE_PROJECTS', projects)},

И, наконец, у вас должны быть геттеры для получения данных от vuex

getters:{
    getProjects: state =>{
          return state.project
  }
}

In .vue

import 'mapGetters' from 'vuex'
export default {
computed:{
       ...mapGetters({
           projects: project/getProjects
      })
   }
}

геттеры и вычисленная воля помогают вашему приложению vue реагировать

...