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

时间:2017-06-22 17:56:47

标签: angularjs angularjs-scope angular-ngmodel angularjs-ng-value

我有这个输入:

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

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

问题在于,当计算时,ng-model保持为空,所以当我将数据发送到服务器时,我尝试分配计算值if (!$scope.totWeight),这不是最佳的。此外,如果我通过输入字段插入值,然后更改上面提到的触发getTotWeight()函数的其他字段,$scope.totWeight有一个值,因此不会使用上面的{{1 }}

抱歉,我不知道如何解释。希望有人可以帮助我。

1 个答案:

答案 0 :(得分:1)

NgValue指令的目的是docs所说的

  

它主要用于输入[radio]和选项元素,以便在何时使用   选择元素,该元素的ngModel(或其选择   父元素)设置为绑定值。

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

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