我在嵌套模板中访问父索引时遇到问题。尝试在模板中发送#index作为参数,但它不起作用(http://jsfiddle.net/Xsrdb/)。
<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>
有人知道如何解决这个问题吗?
提前致谢。
答案 0 :(得分:2)
在您提供的示例中,您只需在secondTemplate中使用{{>#index}}
即可获取元素的索引。
<script id="secondTemplate" type="text/x-jsrender">
<div>
<b>{{>#index}}</b>
<i>{{>name/}}</i>
</div>
</script>
以下是jsFiddle中的示例:http://jsfiddle.net/Xsrdb/1/
请注意,如果您需要父节点的索引,则可以使用:
{{>#parent.index}}
答案 1 :(得分:1)
您的第二个模板,您可以写为{{for segments tmpl='#secondTemplate' ~parent_index=#index/}}
,在此时将〜parent_index设置为#index,但此时的#index未定义,因为您不在重复模板中(即'项目'视图)。
如果使用以下数据,索引将显示:
var data = [{
segments: [
{name: 'a'},
{name: 'b'}
]
},{
segments: [
{name: 'x'},
{name: 'y'}
]
}];
答案 2 :(得分:0)