Vue

差异:

1. 监听对象:

  • watch()需要手动指定监听对象
    • watch()更具体地说明什么状态应该触发侦听器重新运行;
  • watch()可以访问侦听状态变化前后的值。
  • watchEffect()不需要手动指定, Vue会自动监听回调函数中所有调用的响应式属性

触发时机

2. 是否首次运行:

  • watchEffect()中的回调函数在声明的时候就会运行一次
    • 用来给Vue分析所用到的响应式属性
  • watch()中的回调函数不会首次运行

相同点:

  • 都是监听响应式引用, 然后执行回调函数