Fiddle này có cả each
json và trực tiếp. http://jsfiddle.net/streethawk707/a9ssja22/ .
Dưới đây là hai cách lặp qua mảng. Một là với việc truyền trực tiếp json và một là đặt tên cho mảng json trong khi chuyển cho người giữ nội dung.
Ví dụ 1: Ví dụ dưới đây đang gọi trực tiếp khóa json (dữ liệu) bên trong biến small_data.
Trong html, sử dụng mã dưới đây:
<div id="small-content-placeholder"></div>
Dưới đây có thể được đặt trong tiêu đề hoặc nội dung của 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>
Cái dưới đây là tài liệu đã sẵn sàng:
var small_source = $("#small-template").html();
var small_template = Handlebars.compile(small_source);
Dưới đây là 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" }
]
};
Cuối cùng, đính kèm json vào trình giữ nội dung:
$("#small-content-placeholder").html(small_template(small_data));
Vd2: Lặp lại sử dụng từng.
Hãy xem xét json dưới đây.
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" }
]
}
];
Trong khi chuyển json cho chủ sở hữu nội dung, chỉ cần đặt tên nó theo cách này:
$("#big-content-placeholder").html(big_template({big_data:big_data}));
Và mẫu trông giống như:
<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>