meteor.js & пробелы - передача переменных во вложенном цикле

контекст

Я пытаюсь использовать Handlebars для циклического прохождения событий, а затем вложенный цикл через изображения. Мне нужно выбрать только те изображения, которые соответствуют событию, в котором в данный момент находится цикл событий.


проблема

Я не могу передать _id события внутри вложенного изображения. Есть ли обходной путь для этого? Я понимаю, что могу передавать переменные через помощника, но было бы хорошо узнать, есть ли более простой способ.


Ниже приведен метакод для того, что пока не работает:

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

Любая помощь будет оценена!

1 ответ

Решение

Более поздние версии пробелов поддерживают ссылки на родителя. Пытаться:

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

РЕДАКТИРОВАТЬ:

Кристиан Фриц отметил, что ваша условная логика в операторе 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;
});
Другие вопросы по тегам