Итак, если у меня есть шаблон и для этого шаблона определены некоторые помощники, я могу использовать их в шаблоне как обычно, но если я попытаюсь использовать их внутри {{#each whatever}}
, это выдаст мне ошибку. См. этот пример:
{{#unless pollIsOpenHelper}}
<p>This poll closed on {{formatDate time_poll_closed}}.</p>
{{/unless}}
<table>
{{ #each indexedArray choices }}
<tr>
<td><span class="votes">{{ votes }}</span></td>
<td><span class="text">{{ text }}</span></td>
<td><a href="#" class="vote" data-id="{{ _index }}"><button>Vote for this option</button></a></td>
</tr>
{{#unless pollIsOpenHelper}}
<p>CLOSED.</p>
{{/unless}}
{{ /each }}
</table>
Вышеупомянутый помощник внутри {{#unless}}
работает отлично, выводит сообщение только в том случае, если опрос закрыт. Однако, если я попытаюсь сделать то же самое, чтобы отобразить сообщение внутри {{#each}}
ниже, помощник не работает и всегда показывает мне сообщение. Консоль выдает мне: Exception in template helper: TypeError: Cannot read property 'poll_is_open' of undefined
РЕДАКТИРОВАТЬ: это вспомогательный код:
Template.poll.helpers({
pollIsOpenHelper: function() {
var poll_is_open = Polls.findOne({_id: this._id}).poll_is_open;
return poll_is_open;
},
});
#each
. Точный ответ не может быть дан без вспомогательного кода. - person David Weldon   schedule 29.11.2015