0

내 백본 컬렉션에서 중첩 값에 액세스하는 데 문제가 있습니다. 지금까지 나는 어떤 가치를 얻을 수 있었다. 코드 : 다음은 HTML과 내 결과 aswell 자바 스크립트 코드가 http://jsfiddle.net/mM2Mk/4/ 결과 :이 솔루션의 컬렉션 내 실제 API의 구조를 따르지 않는 그러나 http://tinypic.com/r/2qn3amu/6중첩 컬렉션에서 백본 루핑 및 값 가져 오기

. 내가 노력하고있어 구조는 다음과 같이 작동하도록합니다 :

teamsCollection = new Standings.Collections.TeamsCollection([ 
{ 
    credit: { 
     message: "Provided by ", 
     link: "", 
     logoUrl: "" 
    }, 
    metadata: { }, 
    groups: [ 
     { 
      labels: [ ], 
      standings: [ 
       { 
        team: { 
         id: 9369, 
         name: "IF Elfsborg", 
         shortName: "Elfsborg", 
         link: "" 
        }, 
        stats: [ 
         { 
          name: "gp", 
          value: 30 
         }, 
         { 
          name: "w", 
          value: 18 
         }, 
         { 
          name: "d", 
          value: 5 
         }, 
         { 
          name: "l", 
          value: 7 
         }, 
         { 
          name: "gf", 
          value: 48 
         }, 
         { 
          name: "ga", 
          value: 29 
         }, 
         { 
          name: "gd", 
          value: 19 
         }, 
         { 
          name: "pts", 
          value: 59 
         } 
        ] 
       }, 
     { 
        team: { 
         id: 19740, 
         name: "BK Häcken", 
         shortName: "Häcken", 
         link: "" 
        }, 
        stats: [ 
         { 
          name: "gp", 
          value: 30 
         }, 
         { 
          name: "w", 
          value: 17 
         }, 
         { 
          name: "d", 
          value: 6 
         }, 
         { 
          name: "l", 
          value: 7 
         }, 
         { 
          name: "gf", 
          value: 67 
         }, 
         { 
          name: "ga", 
          value: 36 
         }, 
         { 
          name: "gd", 
          value: 31 
         }, 
         { 
          name: "pts", 
          value: 57 
         } 
        ] 
       }, 

이 코드는 우리에게 같은 연주 게임과 같은 일부 스포츠 결과를 제공이 여러 다른 중 하나 개의 팀이다 등 골 득실, 승리 그 컬렉션을 따르십시오. 내 질문은 어떻게 내 중첩 된 값을 통해 루프 및 내 예제 (위의 tinypic URL)에서 한 것처럼 그들을 표시합니다. 내 목표는 통계와 함께 팀 이름을 가져 와서 html에 표시하는 것입니다. 나머지 팀과도 마찬가지입니다.

답변

0

템플릿을 사용하고 foreach를 사용하여 배열을 반복하면 아코디언 HTML을 제자리에 넣을 수 있습니다.

이미 포함 된 Underscore's templates을 사용할 수 있습니다. 언더 코어는 백본의 종속성입니다.
또는 Handlebars : source과 같은 다른 템플릿 엔진을 사용할 수 있습니다.

두 가지 모두 개체를 루프하는 방법의 예를 제공합니다.

편집 :
은 (는 힘들다, 밑줄)의이 임의의 템플릿을하자 :

<script id="myTemplate"> 
<% _.each(standings, function(standing) { %> 
    <a href="<%= standing.team.link %>"><%= standing.team.name %></a><br/> 
    <ul> 
    <% _.each(standing.stats, function(stat) { %> 
    <li><%= stat.name %>: <%= stat.value %></li> 
    <% } %> 
    </ul> 
<% } %> 
</script> 

그런 다음 그것을 컴파일하고 그룹 [0] 또는 그런 뭔가를 호출합니다.

_.template($('#myTemplate').html(), groups[0]); 

또는

var myTemplate = _.template($('#myTemplate').html()); 
myTemplate(groups[0]); 

은 물론 당신은 값을 적용해야하지만, 여기에 일이 있습니다.

+0

안녕하세요 loamhoof! 답변 주셔서 감사합니다. 나는 아무런 성공없이 밑줄과 핸들 바를 사용해 보았습니다. 나는 백본과 밑줄에 관해서 많은 경험이 없기 때문에 코드에서 가능한 해결책을 기대하고 있었다. 해결책이 어떻게 생겼는지에 대한 예를 들려 주시겠습니까? –