mpo*_*ora 13 javascript angularjs
我有使用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>
Run Code Online (Sandbox Code Playgroud)
我能够进行乘法,除法和减法但是为了加法,代码只是连接x和y值(即如果x = 3且y = 4,则总数为34而不是7)
我究竟做错了什么?
Tra*_*s J 20
如果确实如此,那么正在发生的事情是传递给x和y的值被视为字符串并连接.你应该做的是使用它们将它们转换为数字parseInt
return parseInt($scope.x) + parseInt($scope.y);
Run Code Online (Sandbox Code Playgroud)
或者如果你喜欢简洁
return $scope.x*1 + $scope.y*1;
Run Code Online (Sandbox Code Playgroud)
你要这个:
return parseFloat($scope.x) + parseFloat($scope.y);
Run Code Online (Sandbox Code Playgroud)
+当你有2个字符串时覆盖字符串连接.您需要明确地将它们转换为整数或浮点数. -,, 如果可能的话*,/都将投入数字.
| 归档时间: |
|
| 查看次数: |
42118 次 |
| 最近记录: |