ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Handlebar 模板中使用注释?

我使用 Handlebar.js 作为我的模板引擎。现在我想注释掉我的车把模板中的一些块。但后来我意识到 Handlebar 并没有忽略 Handlebar 注释块中的表达式。有什么解决方法吗?

This pull request 您可能会感兴趣。
它确实支持多行注释,但不会忽略其中的表达式。

G
Garrett

最新版本的 Handlebars 支持块评论:

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

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


感谢 jptsetung。它并没有像我期望的那样完全起作用,但我想它可以达到预期的目的。通过本教程了解车把如何在幕后工作。 net.tutsplus.com/tutorials/javascript-ajax/… 。似乎车把并没有完全忽略注释行,因为它仍在创建令牌。令牌只是空的。例如 "{{!-- Hello {{name}} --}}" 创建 1 个空令牌。只是认为如果它曾经给任何人带来问题是值得一提的。不知道会不会,因为它是在幕后。
@jptsetung,您能帮忙解决一下这个问题吗stackoverflow.com/questions/70820997/…
J
James Jackson

只需在左括号后添加一个感叹号即可。

正常表达:

{{expressions}}

评论表达:

{{!expressions}}

请注意,{{!{{!-- 表单之间的区别在于,只有后者允许嵌入把手标签。因为这很容易忘记,尤其是在稍后修改的长评论中,我建议始终使用较长的评论形式。
M
Mukesh Kumar Gupta

在您的车把模板文件中使用这种方式。

<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


B
Bathri Nathan

评论handlebar.js的两种方式

单个组件:

{{!fixedTop=true}}     --> comments the whole content inside the brackets

多组件:

    {{!--fixedTop=true
          alignment=true--}}     --> comments the whole content until end with "--"

N
Namlulu

官方网站说:“您可以像在代码中一样在车把代码中使用注释。由于通常存在某种程度的逻辑,因此这是一种很好的做法。

注释不会出现在结果输出中。如果您想显示评论,只需使用 HTML 评论,它们就会被输出。

任何必须包含 }} 或其他把手标记的注释都应使用 {{!-- --}} 语法。”

检查网站 https://handlebarsjs.com/guide/#evaluation-context


S
Sicco

使用此代码:

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