如果输入值为空,则添加2个没有NaN的输入值。 AngularJS

时间:2018-06-13 01:22:43

标签: html angularjs

我的表单中有一个部分,它接收2个输入数字并将它们加在一起并显示结果。

<input type="number" ng-model="numb1" ng-blur"addInputs()">
<input type="number" ng-model="numb2" ng-blur"addInputs()">
<p><span ng-bind="sumOfNumbs"></span>

这是Angular

numb1 = 0
numb2 = 0
addInputs = function() {
    sumOfNumbs = numb1 + numb2;
}

但是如果你删除了任何一个&lt;输入&GT;它显示NaN 因为numb1或numb2等于Null。 我该怎么做呢?

1 个答案:

答案 0 :(得分:1)

当你没有初始化值时会发生这种情况,当它尝试添加它时,它将不是一个数字。为了处理你可以使用parseInt

parseInt($scope.numb1) + parseInt($scope.numb2); 

在您的情况下,您已初始化为0,因此您将无法获得如下的NAN,

<强>样本

var app = angular.module('testApp',[]);
app.controller('testCtrl',function($scope){
  $scope.numb1 = 0;
  $scope.numb2 = 0
$scope.addInputs = function() {
    $scope.sumOfNumbs = $scope.numb1 + $scope.numb2;
}

});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<body ng-app="testApp">
 <div class="container" ng-controller="testCtrl">

<input type="number" ng-model="numb1" ng-blur="addInputs()">
<input type="number" ng-model="numb2" ng-blur="addInputs()">
<p><span ng-bind="sumOfNumbs"></span>
</div>