2013-04-11 2 views
0

중첩 템플릿의 부모 인덱스에 액세스하는 데 문제가 있습니다. 템플릿에서 #index를 매개 변수로 보내려고하지만 작동하지 않습니다 (http://jsfiddle.net/Xsrdb/).JsRender 중첩 템플릿의 부모 인덱스에 액세스

<script id="firstTemplate" type="text/x-jsrender"> 
    {{for segments}} 
     <b>{{:#index}}</b> 
    {{/for}} 
    {{for segments tmpl='#secondTemplate' ~parent_index=#index}} 
     <b>{{:#index}}</b> 
    {{/for}} 
</script> 

<script id="secondTemplate" type="text/x-jsrender"> 
    <div> 
     {{>~parent_index/}} 
     <i>{{>name/}}</i> 
    </div> 
</script> 

아무도 어떻게 해결할 수 있습니까? 사전에

감사합니다.

답변

2

제공 한 예에서 secondTemplate에 {{>#index}}을 사용하면 요소의 색인을 얻을 수 있습니다. http://jsfiddle.net/Xsrdb/1/

참고가 부모 노드의 인덱스를 필요로하는 경우, 당신이 사용할 수있는 :

{{>#parent.index}} 
1

두 번째 템플릿, 당신이로 쓸 수 있습니다 여기에

<script id="secondTemplate" type="text/x-jsrender"> 
    <div> 
     <b>{{>#index}}</b> 
     <i>{{>name/}}</i> 
    </div> 
</script> 

이에 대한 jsFiddle에서 샘플입니다 {{for segments tmpl='#secondTemplate' ~parent_index=#index/}}은 그 시점에서 #index에 parent_index를 설정하고 있지만 반복되는 템플릿 (예 : '항목'보기)이 아니기 때문에 그 시점의 #index는 정의되지 않습니다.

var data = [{ 
    segments: [ 
     {name: 'a'}, 
     {name: 'b'} 
    ] 
},{ 
    segments: [ 
     {name: 'x'}, 
     {name: 'y'} 
    ] 
}];