1、首先确认watch是一个对象,必定要当作对象来用javascript
watch:{ }
对象:有键,有值。java
一、键:就是你要监控的那个家伙,好比说$route,这个就是要监控路由的变化。或者是data中的某个变量。数组
二、值:函数
① 能够是【函数】:就是当你监控的家伙变化时,须要执行的函数,这个函数有两个形参,第一个是当前值,第二个是变化后的值。spa
② 能够是【函数名】:不过这个函数名要用单引号来包裹。.net
③ 能够是【包括选项的对象】:选项包含有三个,以下:对象
a. 第一个handler:其值是一个回调函数。即监听到变化时应该执行的函数blog
b. 第二个是deep:其值是true或false;确认是否深刻监听。(通常监听时是不能监听到对象属性值的变化的,数组的值变化能够监听到,所以:数据的改变不须要使用深度watch)ip
c. 第三个是immediate:其值是true或false,确认是否以当前的初始值执行handler的函数路由
var vm = new Vue({ data:{ a:1, b:2, c:3 }, watch:{ //值:函数 a:function(val, oldVal) { console.log('new: %s, old: %s', val, oldVal) }, //值:方法名 b:'someMethod', //选项的对象 c:{ handler:function(val, oldVal){ console.log(val, oldVal) }, deep: true, immediate: true } } });
参考地址:https://blog.csdn.net/wangxiaoxiaosen/article/details/78487089