Mustache.js:迭代通过json收到的列表

时间:2012-08-09 20:04:42

标签: mustache

  

可能重复:
  Mustache JS Template with JSON Collection

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

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

如何使用mustache.js迭代这个?

2 个答案:

答案 0 :(得分:15)

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

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}}

答案 1 :(得分:13)

我找到了另一种方法,这与Geert-Jan非常相似,只是你不必将数组分配给Javascript对象。

{{ #. }}
   <p> {{ id }} </p>
   <ul> {{#details}}
        {{name }}
        {{ type }}
   {{/details}}
   </ul>
{{ /. }}