0

我有这个输入:

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

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

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

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

4

1 回答 1

1

NgValue 指令的目的正如文档所说

主要用在 input[radio] 和 option 元素上,这样当元素被选中时,该元素(或其选择的父元素)的 ngModel 被设置为绑定值。

因此,当使用输入类型“数字”时,您不应该使用它,因为它的值实际上会在 NgModel 中。

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

于 2017-06-22T18:10:13.353 回答