Пытаясь узнать о специальных помощниках блока и условных помощниках Handlebars, я создал простой пример на jsfiddle. Обычай помощник возвращает истину, но условное выражение не отображается правильно реагировать на значение, переданное из блока помощникаУсловный помощник не ведет себя так, как ожидалось, в Handlebars
<script id="test" type="text/x-handlebars-template">
<h3>{{title}}</h3>
<p>custom helper returns: {{isCategory}}</p>
<p>conditional result: {{#if isCategory}}yes{{else}}no{{/if}}</p>
<p><em>I would expect the result to be 'yes'</em></p>
</script>
Что не происходит должным образом в этом примере?
Хорошо, это имеет смысл. Пользовательский помощник возвращает код, который должен быть вставлен в dom; он не может использоваться для других целей, таких как тот, который я пытался. Благодарю. – Greg
Одна вещь, которую вы можете сделать, это написать свой собственный вспомогательный блок условного блока, который вы могли бы использовать вместо '{{#if}}'. Пример этого в проекте, над которым я сейчас работаю. Это SPA, который захватывает все разрешения пользователей при начальной загрузке страницы. Я хочу скрыть или показать некоторые вещи в зависимости от того, имеет ли пользователь требуемое разрешение, поэтому я написал условный помощник, который бы проверил, есть ли у него это. '{{#permission 'CREATE_USERS'}} {{/ permission}' –
Это по существу то, что я пытаюсь выполнить. В вашем примере {{#permission}} вспомогательный блок возвращает логическое значение, которое отображает или скрывает кнопку создания пользователя или возвращает (или нет) кнопку html? – Greg