如何使 ng-model 与 ng-value 一起工作?

How to make ng-model work with ng-value?

我有这个输入:

<input type="number" id="totWeight" ng-model="totWeight" ng-value="getTotWeight()" />

哪个值是根据其他字段计算的,但也可以通过输入字段手动插入。

问题是在计算的时候,ng-model 还是空的,所以我在向服务器发送数据的时候,尝试分配计算值if (!$scope.totWeight),这不是最优的。此外,如果我通过输入字段插入一个值,然后更改上面提到的触发 getTotWeight() 函数的其他字段,则 $scope.totWeight 有一个值,因此它不会更新为上面的 if (!$scope.totWeight).

对不起,我不知道怎么解释。希望有人可以帮助我。

NgValue 指令的目的如 docs 所述

It is mainly used on input[radio] and option elements, so that when the element is selected, the ngModel of that element (or its select parent element) is set to the bound value.

因此,当使用输入类型 "number" 时,您不应使用它,因为它的值实际上将在 NgModel 中。

如果你想在输入改变、按键按下等时触发事件,你应该使用 NgChange、NgKeypress 等来触发该功能。 在所有情况下,该值都将保留在 NgModel 中。