2013-03-11 4 views
106

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

+0

[Этот запрос тянуть] (https://github.com/wycats/handlebars.js/pull/65) может вас заинтересовать. –

+0

Он поддерживает многострочные комментарии, но не игнорирует выражения внутри него. – Abhidev

+0

Привет @Abhidev, вы удовлетворены тем, что один из приведенных ниже ответов правильный? Если да, то отметьте один как правильный :) – Bill

ответ

154

Новейшая версия рулей имеет блок комментарии поддержка:

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

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

+6

Спасибо jptsetung. Он работает не так, как я ожидаю, но думаю, что это работает по назначению. Просматривая этот учебник, вы можете увидеть, как работают рули за кулисами. http://net.tutsplus.com/tutorials/javascript-ajax/handlebars-js-a-behind-the-scenes-look/. Кажется, handlebars не полностью игнорирует прокомментированную строку, потому что она все еще создает токен. Токен просто пуст. Например «{{! - Hello {{name}} -}}" создает 1 пустой токен. Просто подумал, что стоит упомянуть, когда-либо вызывает проблемы для всех. Не знаю, будет ли это так, потому что это за кулисами. – isimmons

38

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

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

{{expressions}} 

Комментарии Expression:

{{!expressions}} 
+16

Обратите внимание, что разница между форматами '{{!' И '{{! -' заключается в том, что только последний позволяет внедрять теги handlebars. Поскольку это будет легко забыть, особенно в длинном комментарии, который позже будет изменен, я предлагаю всегда использовать более длинную форму комментария. –

6

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

<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> 

refer this link to

0

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

{{#data}} 
<!-- enter comments here --> 
<p>{{name}}</p> 
{{/data}} 
+0

Ваш вопрос уже рассмотрен в одном из ответов. – kumkanillam