在Vue中,watch选项用于观察指定的数据属性,当被观察的属性发生变化时,会执行相应的处理函数。

watch选项可以是一个对象,其中的每个属性都是要观察的属性名,对应的值可以是一个函数,也可以是一个对象。

如果是一个函数,它会在被观察的属性发生变化时被调用,并且接收两个参数:新值和旧值。例如:

watch: {
  name(newName, oldName) {
    console.log(`Name changed from ${oldName} to ${newName}`)
  }
}

如果是一个对象,可以有以下选项:

  • handler:处理函数,当被观察的属性发生变化时被调用。与上述的函数参数相同。
  • deep:布尔值,表示是否深度观察被观察的属性,默认为false。如果设置为true,则会递归观察对象内部的属性。
  • immediate:布尔值,表示是否立即调用处理函数,默认为false。如果设置为true,则会在组件挂载时立即调用处理函数。

例如:

watch: {
  name: {
    handler(newName, oldName) {
      console.log(`Name changed from ${oldName} to ${newName}`)
    },
    deep: true,
    immediate: true
  }
}

在上述的例子中,name属性发生变化时,会调用处理函数,并且会递归观察name属性内部的属性,并且在组件挂载时立即调用处理函数


原文地址: https://www.cveoy.top/t/topic/h8E3 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录