流星.js&空格键-在嵌套循环中传递变量

meteor.js & spacebars - passing variables in nested loop

本文关键字:嵌套循环 变量 js amp 空格键 流星      更新时间:2023-09-26

上下文

我正在尝试使用Handlebars循环事件,然后嵌套循环图像。我只需要选择与事件循环当前所在的事件相对应的图像


问题

我无法在嵌套的图像中传递事件的_id。这方面有什么办法吗我意识到我可以通过助手传递变量,但最好知道是否有更简单的方法


以下是到目前为止不起作用的元代码:

//attach venue image to each venue
{{#each myVenues}}
   {{#each myImages}}
      {{#if myVenues._id == myImages._id}}
         <img src="{{this.url}}>
      {{/if}}
   {{/each}}
{{/each}}

任何帮助都将不胜感激!

最新版本的空格键支持引用父级。尝试:

{{#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;
});