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


134

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


Этот запрос может заинтересовать вас.
— Фредерик Хамиди

Он поддерживает многострочные комментарии, но не игнорирует выражения внутри него.
— Абхидев

Ответы:


201

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

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

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


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}}  
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.