上下文
我正在尝试使用Handlebars循环遍历事件,然后嵌套循环遍历图像。我只需要选择与事件循环当前所在事件对应的图像。
问题
我无法在嵌套的图像中传递事件的_id。有解决办法吗? 我意识到我可以通过帮助程序传递变量,但知道是否有更简单的方法会很好。
以下是到目前为止无效的元代码:
//attach venue image to each venue
{{#each myVenues}}
{{#each myImages}}
{{#if myVenues._id == myImages._id}}
<img src="{{this.url}}>
{{/if}}
{{/each}}
{{/each}}
任何帮助将不胜感激!
答案 0 :(得分:2)
更新版本的空格键支持引用父级。尝试:
{{#each myVenues}}
{{#each myImages}}
{{#if ../_id == myImages._id}}
<img src="{{this.url}}>
{{/if}}
{{/each}}
{{/each}}
编辑:
Christian Fritz指出if语句中的条件逻辑不能使用空格键。如果您设置一个帮助程序来评估条件逻辑,您仍然可以使其工作:
{{#each myVenues}}
{{#each myImages}}
{{ifequals ../_id myImages._id}}
<img src="{{this.url}}>
{{/if}}
{{/each}}
{{/each}}
然后在帮手中:
Template.registerHelper('ifequals', function(a,b) {
return a === b;
});