Vue.js 何时将触发computed属性VueJS

Vue.js 何时将触发computed属性VueJS,vue.js,Vue.js,假设我有一张表格,里面有and。我想实现computed属性,它将监视用户每次从中删除所有内容时,computed属性都应该返回到它的默认状态 代码如下: <input class="form-control"/> <select v-model="selectModel"> <option>Please select</option> <option>Yes</option> <option>

假设我有一张表格,里面有and。我想实现computed属性,它将监视用户每次从中删除所有内容时,computed属性都应该返回到它的默认状态

代码如下:

<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>

何时触发此计算属性?我以为每次我在输入字段中键入某个内容,或者删除其中的所有内容时,都会触发它,所以我在计算函数的第一行上放置了一个断点,但它从未被触发。

您可以查看输入的值,每当它是空字符串时,您也会重置selectModel:

模板:

<div id="app">
  <input class="form-control" v-model="textInput" />
  <select v-model="selectModel">
     <option value="" disabled>Please select</option>
     <option value="Yes">Yes</option>
     <option value="No">No</option>
  </select>
</div>

您可以查看输入的值,当它是空字符串时,您还可以重置selectModel:

模板:

<div id="app">
  <input class="form-control" v-model="textInput" />
  <select v-model="selectModel">
     <option value="" disabled>Please select</option>
     <option value="Yes">Yes</option>
     <option value="No">No</option>
  </select>
</div>

您还可以使用方法做您需要的事情,并用@change包装您的输入,这样您就可以用代码调用方法

html


您还可以使用方法做您需要的事情,并用@change包装您的输入,这样您就可以用代码调用方法

html


不要为此使用计算机。顾名思义,computed是可以从viewmodel的值计算出来的。@connexo你说得对,实际上,我对这一点很陌生,现在我知道我应该使用watch而不是computed,不要使用computed。顾名思义,computed是可以从viewmodel的值计算出来的。@connexo你说得对,实际上,我对这一点很陌生,现在我知道我应该用watch而不是computed谢谢你的回答,但手表现在更适合我谢谢你的回答,但是现在这块手表更适合我
<div id="app">
  <div class="container">
    <input class="form-control" v-model="myinput" @change="checkInput">
<select v-model="selectModel">
   <option value="Please select" seleceted>Please select</option>
   <option value="Yes">Yes</option>
   <option value="No">No</option>
</select>

  </div>
</div>
var app = new Vue({
  el: '#app',
  data: () =>  ({
    selectModel: '',
    myinput: ''
  }),
  methods: {
    checkInput() {
      if (this.myinput === '') {
        console.log('here')
        this.selectModel = 'Please select'
      }
    }
  }
})