【发布时间】:2018-02-26 01:51:24
【问题描述】:
如果 class 的当前值与绑定的 Vuex 值不同(知道 Vuex 值将只有在使用 axios 将更改成功发送到服务器后才提交,我也在使用 _debouce,所以总是有延迟)。
我的问题是,在isEqual 中,this.usualname 的值始终与其关联的 Vuex 值相同,它不反映input 值的真实状态(而currentValue 在usualname setter 可以)。
我还能如何在isEqual 中检索我的input 的当前值?或者我可以直接从usualname setter 更改input class 吗?
我的输入设置如下:
<input type="text"
v-model="usualname"
@input="mymet(
'company',
$store.state.company_data.id,
'usual_name',
$event.target.value)"
:class="isEqual ? 'form-control is-valid' : 'form-control is-invalid'">
在计算中,我有这个:
usualname: {
get () {
return this.$store.state.company_data.usual_name
},
set (currentValue) {
}
},
isEqual: {
get: function() {
return this.usualname === this.$store.state.company_data.usual_name
},
set: function(value) {
}
},
【问题讨论】:
-
将
usualname转换为data字段而不是computed怎么样? -
如果我将
usualname: this.$store.state.company_data.usual_name放入data(),input将不会被初始化。可能是因为设置输入值时 Vuex 存储还没有准备好。 -
您已将
usualname定义为等于存储值。不可能是别的。