2013-10-22 2 views
1

안녕하세요 저는 각도가 너무 새롭고 몇 가지 작업 방법을 배우려고합니다. 나는 다음 데이터를 표시하려고 노력하고있다. 크롬에 대한 Batarang 플러그인을 사용하여 내 모델에 포함 된 다음 json을 반환하는 내 편안한 웹 서비스를 볼 수 있습니다.각도 값을 사용하여 키 값 배열에서 JSON 값 가져 오기

{ 
    course: { 
     country: Test1 
     numberEnrolledPerMonthPerWeek: { 
      entry: 
      [ { 
       key: 2 
       value: { 
        numberEnrolled: 0 
        weeks: 2 
        year: 2011 
       } 
      } , { 
       key: 3 
       value: { 
        numberEnrolled: 4 
        weeks: 3 
        year: 2011 
       } 
      } , { 
       key: 4 
       value: { 
        numberEnrolled: 6 
        weeks: 4 
        year: 2011 
       } 
      } , { 
       key: 8 
       value: { 
        numberEnrolled: 0 
        weeks: 8 
        year: 2011 
       } 
      } 
      ] 
     } 
    } 
} 

각 키의 numberEnrolled 값을 열에 가져 오려고합니다. 그래서 내 HTML에서 내가 가지고있는

<table class="table table-striped table-bordered"> 
      <tr ng-repeat="course in enrolledcourses.enrolledEnrolment"> 
       <td>         
        {{course.country}} 
       </td> 
       <td> 
        {{course.numberEnrolledPerMonthPerWeek[2].numberEnrolled}} 
       </td>    
      </tr> 
     </table> 

는 {{course.numberEnrolledPerMonthPerWeek [2] .numberEnrolled가}} 그래서 사람이 numberEnrolled 값을하시기 바랍니다 얻을 수있는 올바른 구문 일 것입니다 무슨 조언 해 줄 수 있습니다 나에게 어떤 값을 반환하지 않습니다 다음과 같습니다. 내가

을 시도

{{course.numberEnrolledPerMonthPerWeek.2.numberEnrolled}} 
{{course.numberEnrolledPerMonthPerWeek[2][numberEnrolled]}} 

내 컨트롤러 코드는

.controller('PeopleCtrl', function($scope, recruitmentFactory) { 
    $scope.enrolledcourses = recruitmentFactory.get(); 


    $scope.test = "hello"; 
    $scope.save = function() { 
     alert("save has been called"); 
    }; 
}) 
+0

이 그것을 보여주십시오 여기

내가 데이터를 시각화하는 데 사용하는 것입니다. '$ scope'에있는 모델입니까? 어쨌든 numberEnrolledPerMonthPerWeek는 객체이고 필드 '2'는 거기에 존재하지 않습니다. –

+0

제가 객체라는 것을 알 수 있지만 그 객체의 엔트리를 얻는 방법은 무엇입니까? – user1107753

답변

2

첫째, JSON에는 많은 실수가 있습니다. 어쩌면 그것은 단지 출력입니다. 단지의 경우 : 쉼표가 누락되어 Test가 기호이지만 문자열로 의도 된 것 같습니다.

$scope.enrolledcourses = { 
    course : { 
    country: 'Test1', 
    numberEnrolledPerMonthPerWeek: { 
     entry: [{ 
      key: 2, 
      value: { 
       numberEnrolled: 0, 
       weeks: 2, 
       year: 2011, 
      } 
     }, { 
      key: 3, 
      value: { 
       numberEnrolled: 4, 
       weeks: 3, 
       year: 2011 
      } 
     }, { 
      key: 4, 
      value: { 
       numberEnrolled: 6, 
       weeks: 4, 
       year: 2011 
      } 
     }, { 
      key: 8, 
      value: { 
       numberEnrolled: 0, 
       weeks: 8, 
       year: 2011 
      } 
     }] 
    } 
    } 
}; 

그런 다음 HTML은 올바른 속성에 액세스 할 필요가 :

<tr ng-repeat="course in enrolledcourses"> 
     <td>{{course.country}}</td> 
     <td>{{course.numberEnrolledPerMonthPerWeek.entry[2].value.numberEnrolled}}</td> 
    </tr> 

이입니다 live example

0
numberEnrolledPerMonthPerWeek[2] is not your array 

그렇게

numberEnrolledPerMonthPerWeek.entry[2] 
+0

위를 시도하면 { "key": " 4 ","value ": {"numberEnrolled ":"6 ","weeks ":"4 ","year ":"2011 "}} – user1107753

0

좋아하려고 다음과 같다 내가했던

을 값을 얻기 위해 다음과 같은
{{course.numberEnrolledPerMonthPerWeek.entry[2].value.numberEnrolled}} 
1

그냥 몇 가지 추가적인 도움 제공 : 나는이 문제에 밖으로 어떻게 파악에 많은 실행을 JSON 데이터를 탐색 할 수 있습니다. 시각화 도구를 사용해보고 올바른지 JSON의 유효성을 검사하십시오. 여기 http://jsonviewer.stack.hu/ 확인 :이 컨트롤러에있는 경우 http://jsonlint.com/