watch

当watch的是一个Object类型的数据,如果这个对象内部的某个值发生了改变,并不会触发watch动作!

也就是说,watch默认情况下,不监测内部嵌套数据的变动。但是很多情况下,我们是需要监测的!

为解决这一问题,就要使用deep属性:

watch:{obj:{handler:'doSomething',deep:true}},methods:{doSomething(){//当 obj 发生变化的时候,做些处理}}

immediate属性

watch 的handler函数通常情况下只有在监听的属性发生改变时才会触发。

但有些时候,我们希望在组件创建后,或者说watch被声明和绑定的时候,立刻执行一次handler函数,这就需要使用immediate属性了,它默认watch:{

 obj:{handler:'doSomething',deep:true,immediate:true}},methods:{doSomething(){//当 obj 发生变化的时候,做些处理}}为false,改为true后,就会立刻执行handler。