2016-11-14 61 views
0

我已经遇到Angulars $ watch的问题,我不确定为什么UI不显示我的更改,具体而言,我的更新模型。

所以我有3个数字文本框(我使用剑道,但我认为没关系)。我在框A中输入一个数字,在框C中输入一个数字。因此框B被计算,如果它不是一个整数,它将被舍入并设置(全部在框C的$ watch中)。这工作到目前为止。

有时我必须在计算Box B后重新计算Box C. (所以这是所有整数,并且框A的时间框B的数字应该完全是框C中的数字内容。

因此,因此框C得到了再次计算所以我的调试控制台说: 框A更改为72.方框C改为20000.方框B改为3333.方框C改为19998.但方框C的最后改变并未出现在用户界面中

因此,如果方框C在用户界面中发生变化,手表改变B.然后B的手表应该再次改变C,但它不起作用,我试过已经包装成safeApply方法,但仍然没有在UI中同步回来。 什么是造成这个?

希望有任何意见!谢谢!

+1

你能显示代码,请。 – rrd

回答

0

谢谢你,所以如果有人跑进类似的问题....

它似乎问题出内剑道K-NG-模式结合。当使用模糊选项ng模型时,一切都按预期工作。 所以我用....

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

,而不是

k-ng-model="dc.durationState.kilometersTo" 
在输入域

...