$watch() 监听某个值(双向数据绑定)的变化, 一旦发生变化, 就调用引号里的方法, 从而达到change事件监听的效果.
它的值包括选项的对象,选项对象有
- handler: 其值是一个回调函数, 即监听到变化时应该执行的函数
- deep: 其值是true或false, 确认是否深入监听.(一般监听时是不能监听到对象属性值的变化的,数组的值变化可以听到)
- immediate: 其值是true或false,确认是否以当前的初始值执行handler的函数.
- immediate:true; 立即执行,当刷新页面时会立即执行一次handler函数
使用场景:
- 不加immediate:true; 在组件或者页面切换时,你已经选中了某项,当你刷新页面时,选项会回到默认位置,数据消失
- 加immediate:true; 在组件或者页面切换时,你已经选中了这一项,但当你刷新完页面时,选项仍在选中的这一项的位置,数据还都在