繁体   English   中英

变异不提交状态 vuex - Nuxt

[英]Mutation not committing state vuex - Nuxt

我正在开发 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: {},

回复在此处输入图片说明 在此处输入图片说明

当我单击加载状态或手动提交这些更改时,它给了我这个错误。

在此处输入图片说明

在获取物品中

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 获取数据的 getter

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

在 .vue 中

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

getter 和计算将帮助您的 vue 应用程序反应性

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM