Невозможно напечатать текущее значение в ng-repeat - PullRequest
0 голосов
/ 21 мая 2018

Вот мой код:

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 голосов
/ 22 мая 2018

Если вы увеличиваете счетчик 1 в инициализации ng-repeat-start, конец счетчика повторов1 будет иметь то же значение.Так что вам нужно получить помощь $ 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).

0 голосов
/ 21 мая 2018

Если вы просто хотите напечатать счетчик, просто выполните следующие изменения в вашем коде

<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>

Вам не нужно делать какие-либо инициализационные действия

...