假设我的上下文文件中有两个数组:
{
"foo": [ ... ],
"bar": [ ... ]
}
在我的模板中,我想做这样的事情:
{{#each foo}}
"{{ this }}": {{ bar.[{{@index}}] }}
{{/each}}
也就是说,我想在foo
和bar
中插入同一索引处的值。但是,代码不起作用。输出文件中的第二个值为空(有一个"(。
根据文档,我使用 @index 来引用当前循环索引。
我最终想通了 - 我必须使用查找内置助手。
我不得不从这里更改模板的这一行:
"{{ this }}": {{ bar.[{{@index}}] }}
对此:
"{{ this }}": {{lookup ../values @index }}
有关如何使用查找的更多示例,请参阅此处。
我不得不改变这个:
<ol>
{{#each oilMileage}}
{{#each oilDate}}
<li>{{../this}} miles, Date:{{this}}</li>
{{/each}}
{{/each}}
</ol>
对此:
<ol>
{{#each oilMileage}}
<li>
{{this}} miles, {{lookup ../oilDate @index}}
</li>
{{/each}}
</ol>
因为否则会因为两个 {{each}} 而有两个 li/行项目。
我还尝试只放置一个 {{each}},然后引用第二个 oilDate 数组,但没有键,整个第二个数组将打印,而不仅仅是迭代。 我认为上面列出的正确解决方案是使用@index查找,包括使用 root.oilDate 在内的其他方法都不起作用。