angularjs推送到阵列添加十个元素

时间:2016-07-28 22:06:04

标签: arrays angularjs

我是AngularJS的新手,这让我疯了好几天。救命!!!我已经将问题简化为尽可能简单的代码片段。我已经在Controller中设置了一个名为indexArray的数组,我想通过函数pushIndex()从HTML推送值到它。问题是push函数为数组添加了十个相同的元素。当我在推送后使用{{indexArray}}语句列出数组时,它看起来像这样:

[4,5,6,7,9,9,9,9,9,9,9,9,9,9]

我只想要一个" 9"推了一下,它增加了十个。

字符串,引号等也会发生同样的事情。

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script> 
var app = angular.module('myDataApp',[]);
app.controller('myDataController',function($scope, $http){
    $scope.indexArray=[4,5,6,7];
    $scope.pushIndex=function(num){
        $scope.indexArray.push(num);
   };
});
</script>
</head>
<body>
<div ng-app="myDataApp" ng-controller="myDataController">
{{ pushIndex(9) }}
{{ indexArray }}
</div>
</body>
</html>

如果解决方案很简单,或者之前已经提出过这个问题,请提前抱歉。谢谢! -UDM

1 个答案:

答案 0 :(得分:3)

调用类似{{ pushIndex(9) }}的函数将无限运行摘要循环。

这对你有用

&#13;
&#13;
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script> 
var app = angular.module('myDataApp',[]);
app.controller('myDataController',function($scope, $http){
    $scope.indexArray=[4,5,6,7];
    $scope.pushIndex=function(num){
        $scope.indexArray.push(num);
   };
});
</script>
</head>
<body>
<div ng-app="myDataApp" ng-controller="myDataController">
<span ng-init="result=pushIndex(9)">{{result}}</span>
{{ indexArray }}
</div>
</body>
</html>
&#13;
&#13;
&#13;