watcheffect的用法

watch函数的工作方式略有不同,无法直接比较新旧值。

需求:监听用户给金额字段改大了还是改小了

let previousAmount: number | null = null;
watchEffect(() => {
  for (let i = 0; i < projectList.value.length; i++) {
    const currentAmount = Number(projectList.value[i].je);

    if (previousAmount !== null) {  //不是空 说明不是第一次进来,
      if (currentAmount > previousAmount) {  //如果说当前的金额大于以前的金额(金额改大)
        console.log('改大了')
      } else if (currentAmount < previousAmount) {  //如果说当前循环的金额小于以前的金额 (金额改小)
       console.log('改小了')
       
      }
    }
    previousAmount = currentAmount;  //第一次进来执行这个 比如 第一次申请的金额默认是100  然后 把 100赋值给previousAmount
  }
});

比如说第一次进来 数组第一项的金额是 100,把100赋值给previousAmount(以前金额),数组第二项的金额比如说是 150,(这时候进入非空的判断),就开始比较大小

你可能感兴趣的:(前端,vue.js,typescript)