我有这段代码使用 angular js:
<!DOCTYPE html >
<html>
<head>
<title>Untitled Page</title>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.5/angular.min.js"></script>
<script type="text/javascript">
function TodoCtrl($scope) {
$scope.total = function () {
return $scope.x + $scope.y;
};
}
</script>
</head>
<body>
<div ng-app>
<h2>Calculate</h2>
<div ng-controller="TodoCtrl">
<form>
<li>Number 1: <input type="text" ng-model="x" /> </li>
<li>Number 2: <input type="text" ng-model="y" /> </li>
<li>Total <input type="text" value="{{total()}}"/></li>
</form>
</div>
</div>
</body>
</html>
我可以做乘法、除法和减法,但对于加法,代码只是连接 x 和 y 值(即如果 x = 3 和 y = 4,总数是 34 而不是 7)
我做错了什么?
最佳答案
如果情况确实如此,那么正在发生的情况是为 x 和 y 传入的值被视为字符串并连接起来。您应该做的是使用 parseInt
return parseInt($scope.x) + parseInt($scope.y);
或者如果你喜欢简洁
return $scope.x*1 + $scope.y*1;
关于javascript - angular js添加两个数字问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15648711/