Mustache 留胡子10次
我有如下JSON字符串Mustache 留胡子10次,mustache,Mustache,我有如下JSON字符串 { Red:10, Green: 0 } 所以我想将下面的行显示10次(红色:10) 我怎样才能用胡子做到这一点 我试过了 {{# Red}} <img src="img/red.png"> {{/ Red}} {{{#Red} {{/红色} 但它不起作用从本页: 如果person键存在且具有非false值,则磅和斜杠之间的HTML将呈现并显示一次或多次 当值为非空列表时,对于列表中的每个项目,块中的文本将显示一次。对于每次迭代,块的上下文将
{
Red:10,
Green: 0
}
所以我想将下面的行显示10次(红色:10)
我怎样才能用胡子做到这一点
我试过了
{{# Red}}
<img src="img/red.png">
{{/ Red}}
{{{#Red}
{{/红色}
但它不起作用从本页:
如果person键存在且具有非false值,则磅和斜杠之间的HTML将呈现并显示一次或多次
当值为非空列表时,对于列表中的每个项目,块中的文本将显示一次。对于每次迭代,块的上下文将设置为当前项。通过这种方式,我们可以在集合上循环
这意味着您需要{#Red}引用一个包含10个项目的列表才能这样做。似乎没有一种简洁的方式来表示n个项的列表,因此最好将JSON修改为
{
Red: [
{ "value": "1" },
{ "value": "2" },
...
{ "value": "10" },
]
Green: 0
}
我不确定,但你可能也需要红色和绿色的引号。取决于加载JSON的方式
胡子不是用来做这种事情的。毕竟,它是无逻辑的模板。你应该考虑用JavaScript来做这件事。您可以研究如何使用手柄将小胡子与Javascript结合使用。您想做的是:您想使用类似PHP的逻辑小胡子 但它比PHP要少。它不提供整个超文本预处理器语言的功能。这只是一个模板语法,当然不是图灵完整的 所以你不能写这样的循环。或者,您可以迭代数组,例如: 这: 这是:
{{#musketeers}}
* {{.}}
{{/musketeers}}
给你这个:
* Athos
* Aramis
* Porthos
* D'Artagnan
但类似的服务也提供了这一功能。 使用,这是可能的:
<% for(var j = 0; j < 10; j++){ %>
<img src="pic<%= j %>.png" />
<% } %>
.png“/>
一些Mustache实现是多功能的,可以让您注入自己的代码,例如用于呈现“{{{{repeat(Red)}}{{/repeat(Red)}}}}}”
很好。我不知道Mustache是否真的适合做这些事情,但是一些库实现者不喜欢让他们的用户束手无策:
* Athos
* Aramis
* Porthos
* D'Artagnan
<% for(var j = 0; j < 10; j++){ %>
<img src="pic<%= j %>.png" />
<% } %>