[英]Mutation not committing state vuex - Nuxt
I am working on vuex app, on my other page i am committing changes to state its working, but here on this specific page i am getting some data from api and storing it in store but it get stuck in mutation, I am getting all data in mutation payload but its not effecting the changes, Please check the screenshot and code,我正在开发 vuex 应用程序,在我的另一个页面上,我正在提交更改以说明其工作状态,但是在此特定页面上,我从 api 获取一些数据并将其存储在商店中,但它陷入了突变,我正在获取所有数据在变异有效载荷中,但不影响更改,请检查屏幕截图和代码,
I can not create fiddle cuz it works there我无法创建小提琴因为它在那里工作
Getting Items获取物品
async getItems () {
await this.$axios.get(`/api/projects/w/latest/all`)
.then(response => {
this.$store.commit('project/UPDATE_PROJECTS', response.data.items)
});
}
Action行动
updateProjectsAction (context, projects) {
context.commit('UPDATE_PROJECTS', projects)
},
Mutation突变
UPDATE_PROJECTS (state, payload ) {
state.projects = payload
}
State状态
projects: {},
When i click load state or manually commit these changes it gives me this error.当我单击加载状态或手动提交这些更改时,它给了我这个错误。
In getting items在获取物品中
this.$store.commit('project/UPDATE_PROJECTS', response.data.items)
you should change it to你应该把它改成
this.$store.dispatch('project/updateProjectsAction', response.data.items)
In Action you should change在行动中你应该改变
updateProjectsAction ({commit}, projects) {
commit('UPDATE_PROJECTS', projects)},
And last thing, you should have getters for getting data from vuex最后一件事,你应该有从 vuex 获取数据的 getter
getters:{
getProjects: state =>{
return state.project
}
}
In .vue在 .vue 中
import 'mapGetters' from 'vuex'
export default {
computed:{
...mapGetters({
projects: project/getProjects
})
}
}
getters and computed will helps your vue app reactive getter 和计算将帮助您的 vue 应用程序反应性
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.