Angular JS, Typescript -当使用$watch时,UI不会显示模型的变化

Angular JS, Typescript - UI doesn't show model changes when using $watch

本文关键字:显示 UI 模型 变化 Typescript JS Angular watch      更新时间:2023-09-26

我在使用angular $watch时遇到了一个问题,我不知道为什么UI不显示我的更改,特别是我更新的模型。

所以我有3个数字文本框(我使用剑道,但我认为这并不重要)。我在盒子a里输入一个数字,在盒子c里输入一个数字,这样盒子B就算出来了。,如果它不是一个整数,它将被四舍五入并设置(都在框C的$watch中)。

有时我必须在计算完Box B后重新计算Box C。(所以这些都是整数,盒子A乘以盒子B的数字应该正好是盒子c中的数字内容。

因此再次计算框C。所以我的调试控制台说:A栏改为72。C框改为20000。B栏改为3333。栏C改为1998年。但是Box C的最后一次更改没有显示在UI中。

如果盒子C在UI中改变了,手表改变了B,然后B的手表应该再次改变C,但它不起作用。我已经尝试将东西包装到safeApply方法中,但仍然无法在UI中同步。

这是作用域问题吗?是什么导致了这种情况?

感谢任何评论!谢谢!

谢谢,所以如果有人遇到类似的问题....

似乎问题在于kendo k-ng-model绑定。当使用带有模糊选项的ng-model时,一切都像预期的那样工作。所以我使用了....

ng-model="dc.durationState.kilometersTo" 
ng-model-options="{ updateOn: 'default blur', debounce: { default: 500, blur: 0 } }" 
不是

k-ng-model="dc.durationState.kilometersTo"