2013-03-11 70 views
106

我正在使用Handlebar.js作为我的模板引擎。现在我想注释掉我的车把模板中的一些块。但后来我意识到,车把不会忽略车把注释块内的表情。任何解决方法?如何在Handlebar模板中使用注释?

+0

[此拉请求(https://github.com/wycats/handlebars.js/pull/65)你可能会感兴趣。 – 2013-03-11 10:30:56

+0

它确实支持多行注释,但不会忽略其中的表达式。 – Abhidev 2013-03-11 10:44:00

+0

嗨@Abhidev,你是否满意下面的答案之一是正确的?如果是这样,请将其标记为正确:) – Bill 2015-10-30 11:48:29

回答

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 2013-07-27 19:14:37

38

开括号后只需添加一个感叹号。

正常表达:

{{expressions}} 

评论表达:

{{!expressions}} 
+16

请注意,'{{!'和'{{! - '表单之间的区别在于只有后者允许嵌入句柄标签。因为这很容易忘记,特别是在稍后修订的长篇评论中,我会建议始终使用较长的评论表单。 – 2014-11-10 12:11:13

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 2017-06-27 10:47:08