Computed property “xxx“ was assigned to but it has no setter.
Computed property “xxx” was assigned to but it has nosetter:计算属性“inputValue”被赋值,但它没有setter。原因:组件中v-model=“XXX”,而XXX是vuex state中的某个变量vuex中是单项流,v-model是vue中的双向绑定,但是在computed中只通过get获取参数值,没有set无法改变参数值解决:v
·
Computed property “xxx” was assigned to but it has nosetter:计算属性“inputValue”被赋值,但它没有setter。
原因:
- 组件中v-model=“XXX”,而XXX是vuex state中的某个变量
- vuex中是单项流,v-model是vue中的双向绑定,但是在computed中只通过get获取参数值,没有set无法改变参数值
解决:
- vuex公共变量:在computed中添加get和set
computed: {
// ...mapState(['inputValue']),
inputValue: {
get () {
return this.$store.state.inputValue
},
set (val) {
this.$store.commit(['setInputValue', val])
}
}
},
普通变量:
computed:{
currentStep:{
get(){
return this.stepMap
},
set(v){
this.stepMap = v
}
// set方法只写下面这一行也是可以的
// set(){}
}
}
2.【推荐】 将 v-model 改成 :value
// 注意@change绑定的方法不要加小括号
<a-input placeholder="请输入任务":value="inputValue" @change="handleInputChange"/>
-------------------------------------
computed: {
...mapState(['inputValue'])
},
更多推荐
已为社区贡献11条内容
所有评论(0)