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

Ste*_*lth 8 mustache

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

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

[
    {"id": "1", "details": {"name": "X", "type":"Y" }},
    {"id": "2", "details": {"name": "aName", "type":"something" }}
]
Run Code Online (Sandbox Code Playgroud)

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

Gee*_*Jan 15

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

var obj = {
  arr: [
    {"id": "1", "details": {"name": "X", "type":"Y" }},
    {"id": "2", "details": {"name": "aName", "type":"something" }}
  ]
}
Run Code Online (Sandbox Code Playgroud)

然后你可以这样做:

{{#arr}}
   my id: {{id}}
{{/arr}}
Run Code Online (Sandbox Code Playgroud)

{{#bla}}的使用实际上已经超载.当它所处理的属性是一个数组时它将循环.当属性本身是一个对象时,它将"输入"该对象.举个例子:

{{#arr}}
   my id: {{id}} <br/>
   {{#details}}
     and my name: {{name}}
   {{/details}}
{{/arr}}
Run Code Online (Sandbox Code Playgroud)

  • 感谢您的回答.我还找到了另一种方法,你也可以找到它.请看下面. (2认同)

Ste*_*lth 13

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

{{ #. }}
   <p> {{ id }} </p>
   <ul> {{#details}}
        {{name }}
        {{ type }}
   {{/details}}
   </ul>
{{ /. }}
Run Code Online (Sandbox Code Playgroud)

  • 第一个{{/.}}需要{{#.}} (4认同)