我的表单中有一个部分,它接收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。 我该怎么做呢?
答案 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>