解决:[Vue] Computed property "XXX" was assigned to but it has no setter. 报错

1,704 阅读1分钟

报错如下图:

分析原因:

  1. 组件中v-model=“XXX”,而XXXvuex state中的某个变量
  2. vuex中是单项流,v-modelvue中的双向绑定,但是在computed中只通过get获取参数值,没有set无法改变参数值

解决方法:

1.在computed中添加getset

computed: {        
    ...mapState(["activeUrl",]),        
    activeUrl:{            
        get(){                
            return this.$store.state.activeUrl            
        },            
        set(val){                
            this.$store.state.activeUrl = val            
        }        
    }    
},

2.将v-model改成:value