2

我发现在Handlebars中,循环的使用:

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

和有条件的:

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

两者都可以替换为

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

但我在官方文档中找不到任何内容。这是真的吗?有人知道它可能记录在哪里吗?

4

1 回答 1

1

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

如果您查看Mustache 手册中的部分定义,您将看到

根据当前上下文中键的值,部分会渲染文本块一次或多次。

一个部分以磅开头,以斜杠结尾。也就是说, {{#person}}开始一个“人”部分,同时{{/person}}结束它。

该部分的行为由键的值决定。

False 值或空列表
如果 person 键存在且值为 false 或空列表,则不会显示井号和斜杠之间的 HTML。

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

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

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

于 2013-06-01T09:00:38.213 回答