Mustache遍历JSON/Array

基本用法:
html

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


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

##带key的
json

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: less

{{#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: oop

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

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

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. spa

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

来自: http://stackoverflow.com/questions/11891123/mustache-js-iterate-over-a-list-received-via-json
相关文章
相关标签/搜索