基本用法:
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