Vue3的watch的选项对象(immediate)

758 阅读1分钟

$watch() 监听某个值(双向数据绑定)的变化, 一旦发生变化, 就调用引号里的方法, 从而达到change事件监听的效果.

它的值包括选项的对象,选项对象有

  • handler: 其值是一个回调函数, 即监听到变化时应该执行的函数
  • deep: 其值是true或false, 确认是否深入监听.(一般监听时是不能监听到对象属性值的变化的,数组的值变化可以听到)
  • immediate: 其值是true或false,确认是否以当前的初始值执行handler的函数.
    • immediate:true; 立即执行,当刷新页面时会立即执行一次handler函数

使用场景:

  • 不加immediate:true; 在组件或者页面切换时,你已经选中了某项,当你刷新页面时,选项会回到默认位置,数据消失
  • 加immediate:true; 在组件或者页面切换时,你已经选中了这一项,但当你刷新完页面时,选项仍在选中的这一项的位置,数据还都在