前提条件:一个变量如果满足某种规则,则在这个满足条件下面进行变量的赋值操作,如果这个规则不存在,则变量置为空,
问题:watch第一次监听的时候因为满足规则,进行操作之后变量再次赋值,说明变量的值有了第二次改变,则会再次触发watch监听这个变量,因为再次触发时不会再满足规则,所以变量自动执行else语句,变量置为空,但是变量的值应该是第一次执行watch监听的时候满足规则之后被赋于的值
题外话:请教大佬之后明白自己一直没想通的是,watch监听变量只是在值改变的时候监听,而我以为的是watch会不间断的监听变量值,理解误差(还是自己小白)
解决方案:watch监听没有问题,但是满足的规则条件不对,因为变量会改变两次,但是我只有一个判断条件,所以条件不完全导致判断失误,故自定义一个变量作为判断条件
我在data中定义了nums2,nums2的值为1,当watch第一次监听变量时满足判断条件进行赋值,此时nums2的值改变为2,故watch进行第二次判断时,执行最后一个判断条件,将nums2的值复为原值1,此时watch执行完毕不在执行,得到想要的变量值且定义的nums2恢复原值,下次判断依旧按照此次步骤进行