Как использовать комментарии в шаблонах Handlebar?

134

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

Abhidev
источник
Этот запрос может заинтересовать вас.
Фредерик Хамиди
Он поддерживает многострочные комментарии, но не игнорирует выражения внутри него.
Абхидев

Ответы:

201

В новейшей версии Handlebars есть поддержка блочных комментариев:

{{!-- {{commented expressions}} --}}

https://github.com/wycats/handlebars.js/commit/a927a9b0adc39660f0794b9b210c9db2f7ddecd9

jptsetung
источник
8
Спасибо jptsetung. Это не полностью работает, как я ожидаю, комментарий, но я предполагаю, что это работает по прямому назначению. Изучив этот урок, вы увидите, как рули работают за кулисами. net.tutsplus.com/tutorials/javascript-ajax/… . Кажется, что руль не полностью игнорирует закомментированную строку, потому что он все еще создает токен. Токен просто пуст. Например, "{{! - Hello {{name}} -}}" создает 1 пустой токен. Просто подумал, стоит упомянуть, если это когда-нибудь вызывает проблемы для кого-либо. Не знаю, будет ли это так, потому что это за кадром.
isimmons
51

Просто добавьте восклицательный знак после открывающих скобок.

Нормальное выражение:

{{expressions}}

Комментируемое выражение:

{{!expressions}}
Джеймс Джексон
источник
25
Обратите внимание, что разница между формами {{!и {{!--формами заключается в том, что только последние допускают использование встроенных тегов руля. Поскольку это будет легко забыть, особенно в длинном комментарии, который позже будет пересмотрен, я бы предложил всегда использовать более длинную форму комментария.
Даррен Кук
31

Используйте этот способ в вашем файле шаблона руля.

<div class="entry">
  {{!-- only output author name if an author exists --}}
  {{#if author}}
    <h1>{{author.firstName}} {{author.lastName}}</h1>
  {{/if}}
</div>

Комментарии не будут в результате вывода. Если вы хотите, чтобы комментарии отображались, используйте комментарии HTML.

<div class="entry">
  {{! This comment will not be in the output }}
  <!-- This comment will be in the output -->
</div>

сослаться на эту ссылку

Мукеш Кумар Гупта
источник
-4

Используйте этот код:

{{#data}}
<!-- enter comments here  -->
<p>{{name}}</p>
{{/data}}  
valavan
источник