我正在用angularJS创建一个具有计算字段的表单,该字段的值由3个数字字段给出,其中一个数字字段是隐藏的,其可见性取决于另一个的输入。

我的问题是,只要第三个字段不可见,就不会显示计算字段的值。

我试图将0设置为隐藏字段的默认值,但这不能解决问题

这是我的代码:

<input type="number" ng-model="currForm.A" name="r_A" required /><br />
<input type="number" ng-model="currForm.B" name="r_B" required /><br />
<div ng-show="currForm.B > '5' ">
  <input type="number" ng-model="currForm.C" name="r_C" ng-required="currForm.B > '5' " /><br />
</div>
<label>Risultato A+B+C</label>: <input type="number" ng-model="currForm.risultato"/>


这是我的剧本

$scope.currForm.C = 0;

$scope.$watch(' currForm.A + currForm.B + currForm.C', function (value) {
    $scope.currForm.risultato= value;
});

$scope.$watch("currForm.B<'5'",function(){
    $scope.currForm.C = "";
});


即使隐藏了第三个输入,有没有办法进行计算?

谢谢你们

最佳答案

您为currForm.C = 0设置了默认值,但未在watch部分中设置,将第二只手表更改为以下手表,它对我有用:

$scope.$watch("currForm.B<'5'",function(){
    $scope.currForm.C = 0;
});

09-30 19:12