Vue 通过 watch 来响应数据的变化。当需要在数据变化时执行异步或开销较大的操作时,这个方式是最有用的。
<div id="app">
<p>计数器: {{ num }}</p>
<button click="num++">点我</button></div>
<script>
var vm = new Vue({
el: '#app',
data: { num: 1 },
watch:{
'num': function(nval, oval) {
console.log('num变化 :' + oval + ' 变为 ' + nval + '!');
},
}
})
</script>
每次点击按钮都会输出:
num变化 :1变为2!
num变化 :2变为3!
...