为什么Vue3里watch监听第一个参数需要是一个函数的返回值?

这样写是可以的:

 watch(
    () => drivingOrderTable.length,
      (newVal, oldVal) => {
          if (newVal > oldVal) {
            ElMessage({
              type: "success",
              message: "操作成功",
            });
          }
      }
);

这样写是不可以的:

 watch(drivingOrderTable.length, (newVal, oldVal) => {
     if (newVal > oldVal) {
         ElMessage({
            type: "success",
            message: "操作成功",
          });
        }
 });

区别就是第一个是函数的返回值,第二个是直接用,为什么?求指教!!

是我比较菜么,我觉的是可以的,你把.length去掉呢

同问原理

博主知道为什么了吗,我也想知道

同问,博主知道了不