我有一个角度变量,其值为[170,1,130,3,134,4 ....等等]。我希望以表格形式显示它,使得值出现在表中的两列中,例如。一列中的所有偶数位置值和其他列中的所有奇数位置值。
col1 col2
170 1
130 3
134 4
我编写了以下代码,但它在一列中显示所有代码。 PLZ。提出解决方案。谢谢提前
<table class="table">
<tr ng-repeat="item in output track by $index" ng-switch="$even" ng-class-even="'even'" ng-class-odd="'odd'">
<td ng-switch-when="true">{{item}}</td>
<td ng-switch-default>{{item}}</td>
</tr>
这是对所有列的反映,如:
Col1
170
1
130
...
...
答案 0 :(得分:0)
请勿使用ngSwitchWhen
上的td
。相反,请在div
内使用td
,如下所示:
<td>
<div ng-switch-when="true">{{item}}</div>
</td>
<td>
<div ng-switch-default>{{item}}</div>
</td>
这将保证两列。您可以做的另一件事是为同等大小的列设置width
的{{1}}。
答案 1 :(得分:0)
你可以使用&#34;模数%&#34;得到偶数和奇数并相应地打印。在&#34; ng-switch&#34;中写下你的表达并检查以下示例值:
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
</head>
<body>
<div ng-app="myApp" ng-controller="myCtrl">
<span ng-repeat="obj in items">
<div ng-switch on="{{obj%2}}">
<div ng-switch-when="1">Odd: {{obj}}</div>
<div ng-switch-when="0">Even: {{obj}}</div>
</div>
<div></div>
</div>
</span>
</div>
<script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.items = [12,11,34,33,54];
});
</script>
</body>
</html>
答案 2 :(得分:0)
你可以通过以奇数偶数值重新解析数组来实现这一点:
JS:
var app = angular.module("app", []);
app.controller('dummy', function($scope, $location) {
var output = [170, 1, 130, 3, 134, 4], odd = [], even = [];
for (var i = 0; i < output.length; i++) {
if ((i + 2) % 2 == 0) {
odd.push(output[i]);
} else {
even.push(output[i]);
}
}
$scope.output = {odd: odd, even: even};
});
HTML:
<div ng-app="app" ng-controller="dummy">
<table>
<tr ng-repeat="odd in output.odd track by $index">
<td>{{odd}}</td>
<td>{{output.even[$index]}}</td>
</tr>
</table>
</div>