javascript - angular js添加两个数字问题

标签 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>

我可以做乘法、除法和减法,但对于加法,代码只是连接 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/

相关文章:

javascript - php 和 ajax 代码中的 Jquery ajax 问题

angularjs - 使用 Jasmine 和 Karma 在 AngularJS 中对具有依赖性的工厂进行单元测试失败

Javascript - 一个对象的属性在另一个属性中?

javascript - JQuery 每个循环的延迟不适用于发布请求

javascript - 单击它时如何更改一个按钮文本不是所有具有相同类的按钮

javascript - 经典ASP中的日期验证

javascript - Karma AngularJS Bootstrap 和窗口变量

javascript - 操作方法 : Creating Angular/Bootstrap btn-checkboxes in a repeater

javascript - ng2 - 从兄弟组件指令传递信息

javascript - 使用 angular.js 进行拖放