AngularJS在嵌套的ng-repeat中计数

时间:2015-09-03 12:56:43

标签: javascript angularjs angularjs-ng-repeat

我正在寻找一种方法来计算循环中创建的'td'元素的数量。

我无法使用$index,因为索引重置的每一行,在每次迭代中设置i的最简洁和最简单的方法是什么。所以第一列值是1&第一列计数为0。

我的代码到目前为止:

        <table class="calendar">
            <thead>
                <tr>
                    <th>M</th>
                    <th>T</th>
                    <th>W</th>
                    <th>T</th>
                    <th>F</th>
                    <th>S</th>
                    <th>S</th>
                </tr>
            </thead>
            <tbody ng-click="bindCellValue($event)">
                <tr ng-repeat="week in (days.length/7 | array)">
                    <td ng-repeat="day in days.slice(7*$index, 7*$index + 7) track by $index">
                        {{ day }}
                        <i class="icon ion-checkmark answer-correct" ng-if="submitted && answers[i].correct"></i>
                        <i class="icon ion-close answer-wrong" ng-if="submitted && !answers[i].correct"></i>
                    </td>
                </tr>

            </tbody>
        </table>

并在我的控制器中:

$scope.days = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, null, null, null, null ];

2 个答案:

答案 0 :(得分:2)

您可以使用ng-init

<tr ng-repeat="week in (days.length/7 | array)" ng-init="w = $index">
    <td ng-repeat="day in days.slice(7*$index, 7*$index + 7) track by $index" ng-init="i = w*7 + $index">
        {{ day }}
        <i class="icon ion-checkmark answer-correct" ng-if="submitted && answers[i].correct"></i>
        <i class="icon ion-close answer-wrong" ng-if="submitted && !answers[i].correct"></i>
    </td>
 </tr>

答案 1 :(得分:0)

应该是这样的:

vector

基本上,取$ parents索引(你创建一周的索引)乘以7然后再添加另一个$ index。我建议输出,直到你确定它是正确的。