您可以在 Chrome 或 FireFox 的控制台打开的情况下在这个 plunk 中看到问题:
http://plnkr.co/edit/jmDcxqQ48PmeHt3EPVMU
当你点击“推!” 第一次,手表功能不执行。但如果你再次推动它,它会执行。就像它忽略了第一次推动。但是,由于在后台执行的超时功能,您可以清楚地看到 dataPoints 数组在第一次推送后发生了变化。更奇怪的是,如果您注释掉 jQuery fadeIn 包装器,代码会按预期工作(watch 函数在第一次按下按钮时执行)。
这里发生了什么?为什么使用 jQuery().fadeIn 时 $watch 函数没有执行?