這是因爲你的HTML只有一個<td>
元素,你是不是重複。由於只有1個,你只能得到1列。您需要在<td>
元素中嵌套ng-repeat
以獲得多個列,或明確地在您的HTML中定義了兩個<td>
元素。
你可以試着寫一些更復雜的東西來試圖確定何時應該創建一個新的列或行,但是通過將你的數組創建成更容易消耗的東西來簡化事情:本質上是2維數組。這就是我會做,而不是:
<body ng-app="myApp">
<div ng-controller="myCtrl">
<table>
<tr ng-repeat="row in items">
<td ng-repeat="column in row">{{column}}</td>
</tr>
</table>
</div>
</body>
var myApp = angular.module("myApp", []);
myApp.controller("myCtrl", function($scope) {
$scope.items = [];
$scope.items[0] = ["12", "22"];
$scope.items[1] = ["34", "657"];
$scope.items[2] = ["129", null];
});
https://jsfiddle.net/bntguybm/
需要注意的是,如果這些陣列是包含2倍以上的值,那麼你也將看到額外的列行是包含這些數據。
另一種方式就是這樣,它只能保證2列。您需要爲您的items
對象創建一個對象數組。就像這樣:
<body ng-app="myApp">
<div ng-controller="myCtrl">
<table>
<tr ng-repeat="row in items">
<td>{{row.column1}}</td>
<td>{{row.column2}}</td>
</tr>
</table>
</div>
</body>
var myApp = angular.module("myApp", []);
myApp.controller("myCtrl", function($scope) {
$scope.items = [];
$scope.items[0] = {};
$scope.items[0].column1 = "12";
$scope.items[0].column2 = "22";
$scope.items[1] = {};
$scope.items[1].column1 = "34";
$scope.items[1].column2 = "657";
$scope.items[2] = {};
$scope.items[2].column1 = "129";
$scope.items[2].column2 = null;
});
https://jsfiddle.net/6v1701gx/1/
哪些列 – Sajeetharan
好吧,添加第二列:'{{whatYouWantToDisplayInTheSecondColumn}}'。但是由於你在一串字符串上循環,我想知道你可能想在第二列中顯示什麼。 –