项目中控制台报错如下:

comps
是vuex
里的全局状态:
computed: {
...mapGetters(["comps"])
}
查了半天,发现其他地方对comps
进行了重新赋值操作:
this.comps=[];
感谢大米的评论,确实是不能违背vuex
的原则,state
的改变只能在mutations
和 actions
中完成,在 mutations
和actions
中分别加了changeComps
方法:
mutations: {
changeComps(state, paramsObj) {
state.comps = paramsObj.comps;
}
},
actions: {
changeComps({ commit, rootState }, paramsObj) {
commit('changeComps', paramsObj)
}
}
通过dispatch
分发就可以了:
this.$store.dispatch("changeComps", {
comps: this.comps,
});
网友评论