在初始页面加载时,我们正在加载一个带有新闻源的大型json数据对象。 我们正在使用Mustache.js并列出所有新的Feed标题,这些标题效果很好。
我们有一个div区域来显示onClick新闻项的详细信息。 由于我们已经加载了数据,我需要传递当前项的索引(数组索引)来获取我们需要获取详细信息的新闻项。
{{#Data}}
<li>
{{eventName}}<br />
{{eventLocName}}<br />
{{eventLocCity}}, {{eventLocST}}
</li>
{{/Data}}
我想使用数组索引为
{{#Data}}
<li id='{{Data.index}}'>
{{eventName}}<br />
{{eventLocName}}<br />
{{eventLocCity}}, {{eventLocST}}
</li>
{{/Data}}
将数组索引导入Mustache.js模板的语法是什么?
更新/工作
一旦我将results
放到DOM上,我就使用以下JS将'index
'添加到每个数组项中。 (选择以下代码帮助答案)
for (i in result)
result[i].index = i;
答案 0 :(得分:4)
对不起......我想你需要手动添加索引:
for (i in Data)
Data[i].index = i;
和
{{#Data}}
<li id='{{index}}'>
{{eventName}}<br />
{{eventLocName}}<br />
{{eventLocCity}}, {{eventLocST}}
</li>
{{/Data}}
答案 1 :(得分:1)
据我所知,你不能用Mustache.js做到这一点,但是你可以用Handlebars.js做到这一点,它基本上扩展了Mustaches功能。
你可以简单地导入handlebars.js而不是mustache.js(因为它使用相同的语法并具有相同的功能,但有一些附加功能)然后执行
{{#each Data}}
<li id='{{@index}}'>
{{eventName}}<br />
{{eventLocName}}<br />
{{eventLocCity}}, {{eventLocST}}
</li>
{{/each}}
免责声明:我不是专家,所以如果你得到更好的答案,我不会感到惊讶。
答案 2 :(得分:0)
一些Mustache实现允许这样做(https://github.com/groue/GRMustache/blob/master/Guides/standard_library.md#each)。
您可以要求胡须库的开发人员支持该功能。