Я использую Handlebar.js как мой шаблонный двигатель. Теперь я хочу прокомментировать некоторые блоки в шаблонах руля. Но потом я понял, что Handlebar не игнорирует выражения внутри блока комментариев Handlebar. Любое обходное решение для этого?Как использовать комментарии в шаблонах Handlebar?
ответ
Новейшая версия рулей имеет блок комментарии поддержка:
{{!-- {{commented expressions}} --}}
https://github.com/wycats/handlebars.js/commit/a927a9b0adc39660f0794b9b210c9db2f7ddecd9
Спасибо jptsetung. Он работает не так, как я ожидаю, но думаю, что это работает по назначению. Просматривая этот учебник, вы можете увидеть, как работают рули за кулисами. http://net.tutsplus.com/tutorials/javascript-ajax/handlebars-js-a-behind-the-scenes-look/. Кажется, handlebars не полностью игнорирует прокомментированную строку, потому что она все еще создает токен. Токен просто пуст. Например «{{! - Hello {{name}} -}}" создает 1 пустой токен. Просто подумал, что стоит упомянуть, когда-либо вызывает проблемы для всех. Не знаю, будет ли это так, потому что это за кулисами. – isimmons
Просто добавьте восклицательный знак после открытия скобки.
Нормальное выражение:
{{expressions}}
Комментарии Expression:
{{!expressions}}
Обратите внимание, что разница между форматами '{{!' И '{{! -' заключается в том, что только последний позволяет внедрять теги handlebars. Поскольку это будет легко забыть, особенно в длинном комментарии, который позже будет изменен, я предлагаю всегда использовать более длинную форму комментария. –
Используйте этот путь в файле шаблона рул.
<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>
Используйте этот код:
{{#data}}
<!-- enter comments here -->
<p>{{name}}</p>
{{/data}}
Ваш вопрос уже рассмотрен в одном из ответов. – kumkanillam
[Этот запрос тянуть] (https://github.com/wycats/handlebars.js/pull/65) может вас заинтересовать. –
Он поддерживает многострочные комментарии, но не игнорирует выражения внутри него. – Abhidev
Привет @Abhidev, вы удовлетворены тем, что один из приведенных ниже ответов правильный? Если да, то отметьте один как правильный :) – Bill