2014-07-22 4 views
0

div-table-row 0, 1, 2, 3, 4, ..... 같은 카운터를 실행하려면 아래 표시된대로 div-table-cell-size에 인쇄됩니다. 그것을 어떻게 성취 할 수 있습니까?ng-repeat 각도 증가 숫자

나는 이것들을 본 적이 있지만이 NG-반복 적용하는 방법을 알고 모르는 :

참고 : 나는 아주 아주 아주 새로운 해요 각도로.

<div class="div-table-row" ng-repeat="(label_inx, label_key) in design.labels"> 

    <div class="div-table-cell-label"> 
      {{ label_key.name }} 
    </div> 

    <div class="div-table-cell-size"> 
      <div ng-repeat="(size_inx, size_key) in design.sizes"> 
       {{ size_key.name }}-{{ print_counter_here }} 
      </div> 
    </div> 

</div> 
+4

NG 반복은 $ 인덱스 변수를 생성 당신이 할 수 용도. {{$ index}} 또는 {{$ parent. $ index}} –

+0

을 작성하십시오. @ZackArgyle - +1 – BentCoder

답변

1

design.labels가 Array 인 경우 {{label_inx}}을 (를) 사용할 수 있습니다. 배열 색인이므로 사용할 수 있습니다. 그렇지 않으면 Zack Argyle의 의견이 트릭을해야합니다 (이 경우 {{$ parent. $ index}}).

+0

지금까지 내가 원했던 것이지만, 뭔가 놓치고 있는지 확인하는 것입니다. 내가 'size_key.id'를 울릴 때 ID 문자열을 올바르게 얻었지만 'size_key.size-0'을 echo 할 때 'size-0'이 "inches"의 값을 가지고 있지만 '0'이됩니다. 대시 기호는 허용되지 않습니까? 연결해야하나요? – BentCoder

+0

대시 기호가 속성 이름에 유효한 토큰이 아닙니다. 또한 AngularJS 식은 마이너스 연산자로 대시를 해석합니다. – Sabacc

0

다음 구문을 사용하여 중첩 된 ng-repeat에서 카운터 (col)를 얻을 수 있습니다. $ index에 의한 트랙은 여전히 ​​필요하지만 counter col를 가지고 있기 때문에 로직에서 사용할 필요가 없습니다.

ng-repeat="(col, t) in h.seats track by $index" 

나는 내가 다음과 같은 구현이 나를 위해 일한 열 크기 (4)의 그리드/매트릭스로 변환 원 배열을 가지고있다. 당신은 두 개의 카운터를 사용할 수 있습니다 : 행 안부를 당신이 옆에 원하는대로 중첩 카운터가 작동하는 방법에 대한 자세한 내용은

 <tbody> 
      <tr ng-repeat="(row, y) in getNumber(h.seats.length, 3) track by $index"> 
       <td>{{row+1}}</td> 
       <td class="text-primary" ng-class="appliedClass(!t.status)" 
        ng-repeat="(col, t) in h.seats track by $index" 
        ng-if="col >= (row)*3 && col < (row+1)*3"> 
         <span ng-show="t.status"> X </span> 
         <span ng-show="!t.status"> - </span> 
       </td> 
      </tr> 
     </tbody> 

을 NG가 반복 : https://stackoverflow.com/a/35566132/5076414