使用NG Repeat继续打印阵列



是否可以使用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>

我希望结果能像一样打印出来

01.2.3.。。。。9


但我收到这个结果

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

--

有没有办法把数字叠起来,而不是一直按角度替换?

感谢

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

data[i] = 1;

工作JSFiddle

您需要将ng-repeat向上移动到要重复的东西,要堆叠数字的是<tr>标签,还需要将数据数组分配给$scope

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>

而不是

var data = [];

添加

$scope.data = [];

那么代替

$scope.data[i] = i;

添加

$scope.data.push(i);

这是你想要实现的吗?我在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>

最新更新