【发布时间】:2019-03-02 00:31:05
【问题描述】:
假设我有一个包含<input> 和'' 的表单。我想实现computed property,它将监视<input>,并且每次用户从这个<input> 中删除所有内容时,computed property 应该将<select> 返回到它的默认状态。
代码如下:
<input class="form-control"/>
<select v-model="selectModel">
<option>Please select</option>
<option>Yes</option>
<option>No</option>
</select>
<script>
new Vue({
el: '#app',
data() {
return {
selectModel: '';
}
},
computed: {
input_empty: function() {
var inp = getElementByClass('form-control');
if (inp == '') {
selectModel = "Please select";
}
}
}
})
</script>
这个computed property什么时候会被触发?我在想每次我在输入字段中输入内容时,或者当我从中删除所有内容时都会触发它,所以我在计算函数的第一行放置了一个断点,但它永远不会被触发。
【问题讨论】:
-
不要为此使用计算。顾名思义,
computed是可以从您的视图模型的值中计算出来的。 -
@connexo 实际上你是对的,我对此很陌生,现在我看到我应该使用
watch而不是computed
标签: vue.js