使用NG重复继续打印阵列

时间:2016-04-04 02:17:16

标签: javascript angularjs

是否可以使用ng-repeat继续添加数据而不是替换数据?

示例(在javascript范围内):

angular.module('myApp', []).controller('myTest', function($scope) {

     var data = [];
     for(var i = 0; i < 10; i++)
     {
          $scope.data[i] = i;
     }

});

html示例:

<table ng-app="myApp" ng-controller="myTest">
     <tr>
          <td ng-repeat="x in data"> {{ x }} </td>
     </tr>
</table>

我希望打印结果像

0 1 2 3 .. .. 9

但我收到了这个结果

9(0将被1替换,然后是2,然后是3,然后是4,然后是5,......直到9)

-

有没有办法堆叠数字而不是用角度来替换它们?

由于

3 个答案:

答案 0 :(得分:2)

更新以打印相同的数字:只需在循环中的数组中设置该数字,如下所示:

data[i] = 1;

Working JSFiddle

您需要将ng-repeat移动到您想要重复的内容,堆叠数字的是<tr>标记,您还需要将数据数组分配给$ scope

&#13;
&#13;
angular.module('myApp', []).controller('myTest', function($scope) {

  var data = [];
  for (var i = 0; i < 10; i++) {
    data[i] = i;
  }
  $scope.data = data;

});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<table ng-app="myApp" ng-controller="myTest">
  <tr ng-repeat="x in data">
    <td>{{ x }}</td>
  </tr>
</table>
&#13;
&#13;
&#13;

答案 1 :(得分:1)

而不是

var data = [];

添加

$scope.data = [];

然后代替

$scope.data[i] = i;

添加

$scope.data.push(i);

答案 2 :(得分:1)

这是你想要达到的目标吗?我在for循环之后将表分配给了范围,它似乎有效。

angular.module('myApp', []).controller('myTest', function($scope) {

     var data = [];
     for(var i = 0; i < 10; i++) {
          data[i] = i;
     }
     $scope.data = data; 
    
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<table ng-app="myApp" ng-controller="myTest">
     <tr ng-repeat="x in data">
          <td> {{ x }} </td>
     </tr>
</table>