Vuex:Computed property "comps" was assigned to but it has no setter.

项目中控制台报错如下:

image.png

compsvuex里的全局状态:

computed: {
        ...mapGetters(["comps"])
}

查了半天,发现其他地方对comps进行了重新赋值操作:

 this.comps=[];

感谢大米的评论,确实是不能违背vuex的原则,state的改变只能在mutationsactions中完成,在 mutationsactions中分别加了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,
     });
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。