2017-05-08 3 views
0

플레이어 배열이있는 객체의 배열이 있습니다. 테이블 행에 정보를 표시하고 싶지만 중첩 배열의 값은 행 중간에 표시하고 싶습니다. 나는 마지막 칼럼을 제외한 모든 정보를 얻는다. 비어있는 열쇠라고 말하는 것은 비어 있습니다.부모 데이터 사이에 중첩 된 ng-repeat가있는 ng-repeat

<table class="table table-condensed table-striped"ng-show="vm.registrations.length > 0"> 
    <thead> 
     <td>Day</td> 
     <td>Field</td> 
     <td>Event</td> 
     <td colspan="4">Players</td> 
     <td>Status</td> 
    </thead> 
    <tbody> 
     <tr ng-repeat="event in vm.registrations" > 
     <td>{{event.day}}</td> 
     <td>{{event.field | uppercase }}</td> 
     <td>{{event.event}}</td> 
     <td colspan="4" ng-if="event.numplayers == 2"> 
      <span ng-repeat="player in event.players"> 
       <span>{{player.first}} {{player.last}}</span> 
       <span ng-show="$last">, </span> 
      </span> 
     </td> 
     <td> 
      <span class="label label-sucess" ng-if="{{event.active}} == true">ACTIVE</span> 
      <span class="label label-danger" ng-if="{{event.active}} == false">Canceled</span> 
     </td> 
     </tr> 
    </tbody> 
</table> 

데이터처럼 나타납니다 (하지만 마지막 열 헤더를 제외하고 비어) :

Day  Field  Event  Players  Status 
Sat  MAIN  Mens B  Bob, John 
Sun  COED  COED A  Bob, Mary 

가 어떻게 다시받을 수 있나요 : 이것은 내가 무엇을 얻을

Day  Field  Event  Players  Status 
Sat  MAIN  Mens B  Bob, John Active 
Sun  COED  COED A  Bob, Mary Canceled 

부모님은 디스플레이를 끝내기 위해 반복 하시겠습니까? 여기 오타

<span ng-show"$last"> 

+0

'NG-IF = "이벤트를 NG를-반복의 그 등호

<span ng-show="$last"> 

를 잊어 버렸습니다. 활성 "; 'ng-if = "! event.active"'. 스레드가 유효하지 않습니다. 스레드가 포함되어 있어야합니다. 이 tr에는 td가 아닌 th가 들어 있어야합니다. 그리고 당신의 colspan = "4"는 쓸모가 없습니다. –

답변

2

당신은 당신이 당신의 마지막 요소가 표시되지 않는 이유

+0

감사합니다. 플레이어가 올바르게 표시되지만 그 성가신 마지막 칸에 나타나는 상태를 얻을 수 없도록 그 부분을 발견하고 고쳤습니다. – user3561890

+0

mm .. 방금 코드를 검사했는데 마지막 열의 ng-if 내부 보간은 필요 없습니다. ng-if = "{{event.active}} == 2, 중괄호를 제거하고 엄격한 평등 (triple equals). ng-if = "event.active === 2"... – Karim

+1

고맙습니다! 이제 작동합니다. – user3561890