我正在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 = "";
});
即使隐藏了第三个输入,还有办法进行计算吗?
谢谢大家
答案 0 :(得分:3)
您为currForm.C = 0
设置了默认值,但未在观察部分设置,将第二个手表更改为以下内容,它适用于我:
$scope.$watch("currForm.B<'5'",function(){
$scope.currForm.C = 0;
});