【发布时间】:2019-02-07 08:11:52
【问题描述】:
现在我正在使用以下代码。当我使用 @change 时它不起作用?
<div class="col-md-3">
<div class="form-group">
<label>Longitude</label>
<input id="lngVillage"
type="text"
class="form-control"
placeholder="Longitude of Village"
name="lngVillage"
required=""
v-model="lng"
pattern="^[0-9]+\.[0-9][0-9][0-9][0-9]$"
maxlength="7"
oninvalid="this.setCustomValidity('Enter a valid Longitude')"
oninput="this.setCustomValidity('')">
</div>
</div>
<div v-if="isDisabled == false">
</div>
我的计算函数是
computed: {
isDisabled() {
if (this.lng.length > 5) {
axios.get('url')
.then(response => {
})
.catch(e => {
this.errors.push(e)
})
} else {
return true;
}
}
},
在输入字段中输入后,我需要调用 isDisabled()。请帮助我找到解决方案。
【问题讨论】:
-
isDisabled()是计算属性,因此每次更改输入时都会调用它。你还想要什么。 -
是否可以在输入更改时调用 isDiabled
-
它不是已经在 v-model="lng" 的输入上被调用了吗?在您的 isDisabled 中的 console.log() 每次输入更改时都会记录它
-
先生,如果我删除此代码,我不会得到相同的
-
你不能在计算属性中使用异步逻辑,除非你使用类似:github.com/foxbenjaminfox/vue-async-computed
标签: vue.js vuejs2 vue-component vue-router