2013-05-16 4 views
2

두 개의 하위 객체가있는 JSON 객체로 구성된 데이터를 반환하려고합니다. 클라이언트에서 jsRender {{for}} 구문을 사용하여 한 번에 하나의 특정 객체 만 반복 할 수 있기를 원합니다.jsRender를 사용하여 여러 JSON 객체 렌더링

{{for}}을 사용하지 않고 모든 것을 렌더링 할 수 있지만 {{for}}을 사용하고 싶습니다.

그럼 왜 작동하지 않습니까?

<script id="progDetailsTemplate" type="text/x-jsrender"> 
    {{for Programmes}}{{!-- Why won't this work? -->}} 
    <tr><td>{{>GroupName}}</td></tr> 
    {{/for}} 
    </script> 

이 그러나 않습니다 일 :

<script id="progDetailsTemplate" type="text/x-jsrender"> 
    <tr><td>{{>GroupName}}</td></tr> 
    </script> 

그것은 다른 개체가 나는이 도움이 필요한 이유는 '그룹 이름'라는 동일한 속성을 가질 수있는 가능성이 있습니다.

내가 지금 여기의 예를 볼 수있는 jsFiddle을 만들었습니다 http://jsfiddle.net/SNSXs/1/

답변

0

가 최대한 멀리 볼 수있는, 문제는이 방법을 렌더링하기 위해 전달하는 객체입니다. dataResults.Programmes을 전달하고 Programmes 속성에 액세스하려고했습니다. 당신이해야 할 일은 dataResults을 패스하면 성공할 것입니다.

jsfiddle 예제를 변경했습니다. 유일한 변경 사항은 다음과 같습니다.

function BuildProgs() { 
    $("#progTable").append(
      $("#progDetailsTemplate").render(dataResults) 
     ); 
} 

또한 js 코드 표준의 보조 노트에 있습니다. 왼쪽 중괄호 {을 함수 이름과 같은 줄에 입력하십시오. This is a good read 자바 스크립트 코드 협약에 관한 이야기 ​​

+0

아는 방법은 알기 쉽습니다. 또한 JS 코드 표준 기사에 감사드립니다. 내 목록에 추가 할 내용 :-) –

+0

{{for for Programs}} 태그를 놓칠 수도 있습니다. 나중에 브라우저를 넣으려고해도 을 사용하는 것이 가장 좋습니다.http://jsfiddle.net/SNSXs/4/를 참조하십시오. – BorisMoore

관련 문제