AngularJS在嵌套的ng-repeat中计数

20 浏览
0 Comments

AngularJS在嵌套的ng-repeat中计数

我正在寻找一种方法来计算在循环中创建的\'td\'元素的数量。\n由于每行上的索引会被重置,所以我不能使用$index来实现这一点,有什么最简洁和最简单的方法来在每次迭代中设置i。因此,第一列的值为1,第一列的计数为0。\n我的代码如下:\n

        
M T W T F S S
{{ day }}

\n在我的控制器中:\n

$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 ];

0
0 Comments

问题出现的原因是在嵌套的ng-repeat中使用了ng-if导致了作用域的改变。因此,$parent指向的位置会发生变化。

解决方法是使用双重$parent来指向正确的位置。

具体代码如下:


在这段代码中,首先使用了双重$parent来指向正确的位置。然后,通过计算$parent.$parent.$index * 7 + $parent.$index来获取正确的答案。

建议在确认正确之前,先输出这个计算结果来确保没有错误。

通过这样的修改,可以解决在嵌套的ng-repeat中使用ng-if导致作用域改变的问题。

0
0 Comments

问题的原因:在嵌套的ng-repeat中,需要计数每个循环的次数,但是由于作用域的限制,无法直接在内部循环中使用外部循环的索引。

解决方法:使用ng-init指令来初始化变量,以便在内部循环中使用外部循环的索引。具体实现如下:


    
        {{ day }}
        
        
    

通过在外部循环中使用ng-init指令,将外部循环的索引赋值给变量w。然后在内部循环中使用ng-init指令,将计算得到的索引赋值给变量i。这样就可以在内部循环中使用变量i来进行计数操作了。

使用ng-init指令可以解决在嵌套的ng-repeat中计数的问题,通过初始化变量并赋值来实现在内部循环中使用外部循环的索引。这样就可以正确地进行计数操作了。

0