无法在ng-repeat

时间:2018-05-21 08:48:35

标签: angularjs angularjs-ng-repeat

这是我的代码:

codepen.io/bedtvapp/pen/NMoBby

<div ng-app="app">
  <h1>AngularJS Directive Controllers</h1>
  <div ng-init="count1 = 1"></div>
  <div ng-repeat-start="a in [1, 2, 3, 4, 5]" ng-init="$parent.count1 = $parent.count1 + 1"></div>
  <div>
  abc {{ a }} - {{::$parent.count1}} </div>
  <div ng-if="$parent.count1 % 2 == 0">breakline</div>
  <div ng-repeat-end></div>
</div>

我想将数组中的项计入自定义变量(count1)(而不是$ index)。因为我稍后会为我的计数添加更多条件。

2 个答案:

答案 0 :(得分:0)

如果您只想打印计数,那么只需在代码中进行以下更改

<div ng-app="app">
    <h1>AngularJS Directive Controllers</h1>
    <div ng-repeat-start="a in [1, 2, 3, 4, 5]" ></div>
    <div>
        abc {{ a }} - {{$index + 1}} </div>
    <div ng-repeat-end></div>
</div>

你不需要做任何初始化的事情

答案 1 :(得分:0)

如果在ng-repeat-start init中递增count1,则repeat count1的结尾具有相同的值。所以你需要得到$ index的帮助。您可以使用count1作为设置的起始值。 您可以使用以下代码

简单地实现目标
  <div ng-init="count1 = 1"></div>
  <div ng-repeat-start="a in [1,2,3,4,5]" >
       abc{{a}}- {{count1+$index+1}}
  </div>
  <div ng-if="(count1+$index+1) % 2 == 0">breakline</div>
  <div ng-repeat-end></div>

像这样输出,

abc1- 2
breakline
abc2- 3
abc3- 4
breakline
abc4- 5
abc5- 6
breakline

如果您想根据(count1+$index+1)值添加更多条件。