watch执行回调函数是什么意思‘
时间: 2024-09-14 09:17:03 浏览: 47
watch执行回调函数是指在某些编程环境中,如Vue.js框架,当监视的数据发生变化时,自动执行的函数。在Vue.js中,watch属性可以用来监听和响应Vue实例上的数据变动。当被watch的属性发生改变时,watch的回调函数就会被执行。开发者可以在这个回调函数内部执行一些自定义的逻辑,例如,当数据改变时,根据新的数据值做某些处理。
watch的回调函数通常会接收两个参数:一个是新值(newVal),一个是旧值(oldVal)。这样,开发者可以比较这两个值来确定数据具体是如何变化的,从而作出相应的响应。
例如,在Vue.js中,可以这样使用watch:
```javascript
new Vue({
el: '#app',
data: {
question: '',
answer: 'I cannot give you an answer until you ask a question!'
},
watch: {
// 当 question 发生改变时,这个函数就会被调用
question: function (newVal, oldVal) {
this.answer = 'Waiting for you to stop typing...'
this.debouncedGetAnswer()
}
},
methods: {
// `_.debounce` 是一个通过Lodash限制操作频率的函数。
// 在这个例子中,我们希望限制用户输入时的getAnswer调用频率。
// 记录最后一次用户停止输入的时间,然后在1秒后触发`getAnswer`。
debouncedGetAnswer: _.debounce(
function () {
if (this.question.indexOf('?') === -1) {
this.answer = 'Questions usually contain a question mark. ;-)'
return
}
this.answer = 'Thinking...'
var vm = this
axios.get('https://yesno.wtf/api')
.then(function (response) {
vm.answer = _.capitalize(response.data.answer)
})
.catch(function (error) {
vm.answer = 'Error! Could not reach the API. ' + error
})
},
// 这是我们设置的等待时间
1000
)
}
})
```
阅读全文