Mustache遍历JSON/Array

基本用法:

var html = Mustache.to_html(template, data);
$('#content').html(html)


总结一句话,如果传入的data是个数组,用点表示这个无名的数组。
而{{#blah}} ... {{/blah}}是被重载过的,碰到数组就会遍历,碰到对象就会进去。

##带key的

The array itself should be a value in a bigger Object, like so:

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

Then you can do:

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

the use for {{#bla}} is actually overloaded. When the property it acts upon is an array it will loop. When the property is an object itself it will 'enter' that object. Given your example:

{{#arr}}
   my id: {{id}} <br/>
   {{#details}}
     and my name: {{name}}
   {{/details}}
{{/arr}}

##keyless不带key的(使用.语法)

I found another way of doing this which is pretty similar to Geert-Jan except that you do not have to assign the array to a Javascript object.

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

来自: http://stackoverflow.com/questions/11891123/mustache-js-iterate-over-a-list-received-via-json

你可能感兴趣的:(array,mustache)