- 虽然侦听器在大多数情况下更合适,但有时也需要一个自定义的侦听器。
- 这就是为什么Vue通过watch选项提供了一个更通用的方法,来响应数据的变化,当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。
- 例如
<div id="watch-example">
<p> Ask a yes/no question: <input v-model="question"> </p>
<p>{{ answer }}</p>
</div>
- 上面是一个输入框可以提问题
- 下面是一个answer,根据输入框的内容变化;
- 所以需要个
watch,来观测问题的变化?
<script>
var watchExampleVM = new Vue({
el:'#watch-example',\
data: {
question:'',
answer:'I cannot give you an answer until you ask a question! '
},
watch:{
question: function (newQuestion ,oldQuestion) {
this.answer = 'Waitting for you to stop typing...'
this.debounceGetAnswer()
}
},
})
</script>