watch
监控一个值的变化,并调用因为变化需要执行的方法
当某个数据发生变化的时候,所有依赖这个数据的相关数据都自动发生变化,自动调用相关函数去实现数据的变动。
前后监控实例
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><script src="https://cdn.staticfile.org/vue/2.4.2/vue.min.js"></script><title>Document</title></head><body><div id="computed_props">千米 : <input type="text" v-model="kilometers">米 : <input type="text" v-model="meters"></div><p id="info"></p><script type="text/javascript">var vm = new Vue({el: '#computed_props',data: {kilometers: 0,meters: 0},methods: {},computed: {},watch: {kilometers: function (val) {this.kilometers = val;this.meters = this.kilometers * 1000},meters: function (val) {this.kilometers = val / 1000;this.meters = val;}}});// $watch 是一个实例方法vm.$watch('kilometers', function (newValue, oldValue) {// 这个回调将在 vm.kilometers 改变后调用document.getElementById("info").innerHTML = "修改前值为: " + oldValue + ",修改后值为: " + newValue;})</script></body></html>
