{{#foo}}对Handlebars中的循环和条件都有好处吗?

时间:2013-05-30 08:25:11

标签: handlebars.js mustache

我在Handlebars中发现使用循环:

{{#each foo}}  static text or {{bar}} or {{.}}  {{/each}}

和条件:

{{#if foo}}    static text or {{bar}} or {{.}}  {{/if}}

可以只用

代替
{{#foo}}     static text or {{bar}} or {{.}}    {{/foo}}

但我在official documentation中找不到任何相关内容。这是真的,有人知道它可能被记录在哪里吗?

1 个答案:

答案 0 :(得分:1)

Handlebars.jsMustache模板语言的扩展,因此可以在Mustache文档中找到很多逻辑。

如果您查看Mustache manual中的部分定义,您会看到

  

部分渲染文本块一次或多次,具体取决于   当前上下文中键的值。

     

一节从一磅开始,以斜线结尾。那是,   {{#person}}{{/person}}结束时开始“人”部分。

     

该部分的行为由密钥的值决定。

     

虚假值或空列表
  如果人员密钥存在且值为false或空列表,   不会显示磅和斜杠之间的HTML。

     

非空列表
  如果person键存在并且具有非false值,则HTML之间   磅和斜线将被渲染并显示一次或多次。

     

当值为非空列表时,块中的文本将为   为列表中的每个项目显示一次。块的上下文   将被设置为每次迭代的当前项。通过这种方式,我们可以   循环收集。

     

非虚假值
  当值为非假但不是列表时,它将用作   单个渲染块的上下文。