变异未提交状态Vuex-Nuxt

时间:2019-03-27 06:08:49

标签: vue.js vuejs2 vue-component vuex nuxt.js

我正在使用vuex应用程序,在另一页面上,我正在提交更改以声明其工作状态,但是在此特定页面上,我正在从api获取一些数据并将其存储在存储区中,但它卡在了变异中,我获取变异有效载荷中的所有数据,但不会影响更改,请检查屏幕截图和代码,

我无法在其中创建小提琴cuz

获取物品

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 :(得分:0)

获取物品

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
  }
}

在.vue中

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

获取并计算将有助于您的vue应用程序反应