Computed property "XXX" was assigned to but it has no setter

报错原因:vuex

1.组件中v-model=“XXX”,而XXX是vuex state中的某个变量

2.vuex中是单项流,v-model是vue中的双向绑定,在computed中只经过get获取参数值,没有set没法改变参数值

解决办法:

1.在computed中设置get和sets

<input v-model="type">
computed: {
     type: {
       get () {
         return this.$store.getters.type
       },
       set (val) {
         this.$store.commit('app/SET_TYPE', val)
       }
     }
  },

2.使用mapGetters,把v-model改为:value

<input :value="type">
import { mapGetters } from "vuex";
computed: {
    ...mapGetters(["type"]),
  },

  

posted @ 2021-09-26 18:13  chicidol  阅读(154)  评论(0编辑  收藏  举报