Как использовать комментарии в шаблонах 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.