8

可能重复:
带有 JSON 集合的 Mustache JS 模板

我有一个像这样的 json 响应,我想与 Mustache.js 一起使用:

[
    {"id": "1", "details": {"name": "X", "type":"Y" }},
    {"id": "2", "details": {"name": "aName", "type":"something" }}
]

如何使用 mustache.js 对其进行迭代?

4

2 回答 2

16

数组本身应该是更大对象中的值,如下所示:

var obj = {
  arr: [
    {"id": "1", "details": {"name": "X", "type":"Y" }},
    {"id": "2", "details": {"name": "aName", "type":"something" }}
  ]
}

然后你可以这样做:

{{#arr}}
   my id: {{id}}
{{/arr}}

{{#bla}} 的使用实际上是重载的。当它作用的属性是一个数组时,它将循环。当属性是对象本身时,它将“进入”该对象。鉴于你的例子:

{{#arr}}
   my id: {{id}} <br/>
   {{#details}}
     and my name: {{name}}
   {{/details}}
{{/arr}}
于 2012-08-10T16:37:32.903 回答
13

我发现了另一种与 Geert-Jan 非常相似的方法,只是您不必将数组分配给 Javascript 对象。

{{ #. }}
   <p> {{ id }} </p>
   <ul> {{#details}}
        {{name }}
        {{ type }}
   {{/details}}
   </ul>
{{ /. }}
于 2012-08-10T20:49:44.990 回答