说明
使用watch时有一个特点,就是当值第一次绑定的时候,不会执行监听函数,只有值发生改变才会执行
理解
(1)immediate
需要在最初绑定值的时候也执行函数,则就需要用到immediate属性
比如当父组件向子组件动态传值时,子组件props首次获取到父组件传来的默认值时,也需要执行函数,此时就需要将immediate设为true
immediate表示在watch中首次绑定的时候,是否执行handler,值为true则表示在watch中声明的时候,就立即执行handler方法,值为false,则和一般使用watch一样,在数据发生变化的时候才执行handler。
(2)deep
如 cityName对象中id或 name 任意一个属性值发生变化,都会触发监听
总结/区别
deep:其值为 true/false,确认是否深度监听(深度监听可以监听对象属性和数组的变化); immediate:其值为 true/false,确认是否以当前的初始值执行 handler 函数