是否可以使用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)
-
有没有办法堆叠数字而不是用角度来替换它们?
由于
答案 0 :(得分:2)
更新以打印相同的数字:只需在循环中的数组中设置该数字,如下所示:
data[i] = 1;
您需要将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;
});
&#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;
答案 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>