javascript - meteor.js & spacebars - 在嵌套循环中传递变量

标签 javascript meteor spacebars meteor-collections

上下文

我正在尝试使用 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;
});

关于javascript - meteor.js & spacebars - 在嵌套循环中传递变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34163734/

相关文章:

mongodb - meteor :访问嵌套对象中的一个属性

javascript - meteor 在哪里放置全局tracker.autorun

javascript - 为什么模板事件中的 findOne 会导致调用堆栈大小错误?

meteor - Meteor 模板中的多态性

javascript - 如何访问 Meteor 辅助函数中的 URL 参数?

javascript - 在 jQuery 中将函数引用作为事件处理程序传递

javascript - ReactTable (ReactJS) - 包含 HTML 内容的行中的搜索过滤不起作用

javascript - 寻找可用于循环显示 3 种状态的 JavaScript 开关控件

javascript - jQuery 脚本忽略超链接

javascript - 尝试获取平均评分时出现错误模板助手中出现异常 : TypeError: Cannot read property 'rating' of null