在一段Mustache模板之后添加空行的最简洁方法是什么?

时间:2013-08-12 17:07:43

标签: mustache

假设我想在Mustache模板中呈现多个集合。我可能有这个:

some header content

{{#foos}}
some foo content
{{/foos}}

{{#bars}}
some bar content
{{/bars}}

some footer content

现在,假设上面的foosbars都是非空的,那么一切都会好起来的。但是,如果foos为空,我会在“某些标题内容”之后看到两个空行,这很难看。另一方面,如果我省略foosbars部分之间的空白行,那么当两个集合都非空时,它们之间就不会有中断,这也很难看。

以下是我认为可以解决的一个解决方案:

some header content

{{#foos}}
some foo content
{{/foos}}
{{#flag_that_foos_not_empty}}

{{/flag_that_foos_not_empty}}
{{#bars}}
some bar content
{{/bars}}

some footer content

但是模板很难看。

有没有什么干净的方法来实现我在这里的目的:在集合的末尾插入一个换行符,只有在集合非空的时候?

要明确:我意识到如果我为计算机消费生成文本(如HTML),这将是一个非常荒谬的事情。在这种情况下,我试图使用Mustache生成一些人类可读的内容,其中内容的有吸引力的呈现很重要。

1 个答案:

答案 0 :(得分:1)

像这样的东西可以解决问题,而不是那么难看,IMO:

some header content

{{# has_foos }}
{{# foos }}
some foo content
{{/ foos }}

{{/ has_foos }}
{{# has_bars }}
{{# bars }}
some bar content
{{/ bars }}

{{/ has_bars }}
some footer content

根据您的Mustache实现,您可以替换那些" has"标记为{{# foos.length }}