ซอนี้มีทั้งeach
json โดยตรง http://jsfiddle.net/streethawk707/a9ssja22/
ด้านล่างนี้เป็นสองวิธีในการทำซ้ำบนอาร์เรย์ หนึ่งคือการส่งผ่าน json โดยตรงและอีกอันกำลังตั้งชื่ออาร์เรย์ json ในขณะที่ส่งไปยังตัวยึดเนื้อหา
Eg1: ตัวอย่างด้านล่างเรียกโดยตรง json key (data) ภายในตัวแปร small_data
ใน html ใช้รหัสด้านล่าง:
<div id="small-content-placeholder"></div>
ด้านล่างสามารถวางไว้ในส่วนหัวหรือเนื้อหาของ html:
<script id="small-template" type="text/x-handlebars-template">
<table>
<thead>
<th>Username</th>
<th>email</th>
</thead>
<tbody>
{{#data}}
<tr>
<td>{{username}}
</td>
<td>{{email}}</td>
</tr>
{{/data}}
</tbody>
</table>
</script>
ด้านล่างนี้อยู่ในเอกสารพร้อม:
var small_source = $("#small-template").html();
var small_template = Handlebars.compile(small_source);
ด้านล่างคือ json:
var small_data = {
data: [
{username: "alan1", firstName: "Alan", lastName: "Johnson", email: "alan1@test.com" },
{username: "alan2", firstName: "Alan", lastName: "Johnson", email: "alan2@test.com" }
]
};
ในที่สุดแนบ json เข้ากับเจ้าของเนื้อหา:
$("#small-content-placeholder").html(small_template(small_data));
Eg2: การทำซ้ำโดยใช้แต่ละไฟล์
พิจารณา json ด้านล่าง
var big_data = [
{
name: "users1",
details: [
{username: "alan1", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },
{username: "allison1", firstName: "Allison", lastName: "House", email: "allison@test.com" },
{username: "ryan1", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" }
]
},
{
name: "users2",
details: [
{username: "alan2", firstName: "Alan", lastName: "Johnson", email: "alan@test.com" },
{username: "allison2", firstName: "Allison", lastName: "House", email: "allison@test.com" },
{username: "ryan2", firstName: "Ryan", lastName: "Carson", email: "ryan@test.com" }
]
}
];
ในขณะที่ส่ง json ไปยังเจ้าของเนื้อหาเพียงแค่ตั้งชื่อในลักษณะนี้:
$("#big-content-placeholder").html(big_template({big_data:big_data}));
และเทมเพลตดูเหมือนว่า:
<script id="big-template" type="text/x-handlebars-template">
<table>
<thead>
<th>Username</th>
<th>email</th>
</thead>
<tbody>
{{#each big_data}}
<tr>
<td>{{name}}
<ul>
{{#details}}
<li>{{username}}</li>
<li>{{email}}</li>
{{/details}}
</ul>
</td>
<td>{{email}}</td>
</tr>
{{/each}}
</tbody>
</table>
</script>