如何使用Handlebars迭代嵌套对象
How to iterate over nested objects using Handlebars
我想知道如何使用手把对以下数据对象进行迭代。
以下是它的输出:
image2.png | title2
image3.png | title3
我想实现的目标:
image1.png | title1
image2.png | title2
image3.png | title3
数据
var data = {
"item": [{ // item with one image
"src" : "image1.png",
"title" : "title1"
}],
"item": [{ // item with two or more images
"src" : "image2.png",
"title" : "title2"
},
{
"src" : "image3.png",
"title" : "title3"
}]
}
var template = Handlebars.compile($("#data-template").text());
var html = template(data);
$('#placeholder').html(html);
模板
<div id="placeholder"></div>
<script type="text/x-handlebars" id="data-template">
{{#item}}
{{src}} | {{title}} <br>
{{/item}}
</script>
http://jsfiddle.net/88CwB/
您的JSON无效。
扶手只能看到2个项目。
var data = {
"item": [{ // item with one image
"src" : "image1.png",
"title" : "title1"
}],
"item": [{ // item with two or more images
"src" : "image2.png",
"title" : "title2"
},
{
"src" : "image3.png",
"title" : "title3"
}]
}
var template = Handlebars.compile($("#data-template").text());
var html = template(data);
$('#placeholder').html("<p>" + data.item + "</p>");
请参阅:http://jsfiddle.net/hZQnD/1/
您可以通过使data
对象仅包含1个item
对象来修复它,该对象可能包含3个项的数组。
var data = {
"item": [{ // item with 3 images
"src" : "image1.png",
"title" : "title1"
},
{
"src" : "image2.png",
"title" : "title2"
},
{
"src" : "image3.png",
"title" : "title3"
}]
}
var template = Handlebars.compile($("#data-template").text());
var html = template(data);
$('#placeholder').html(html);
请参阅:http://jsfiddle.net/75UzZ/1/
您还可以通过将数据对象设置为具有item
属性的对象数组,并在for循环中对其进行迭代来修复它:
var data = [{
"item": [{ // item with one image
"src" : "image1.png",
"title" : "title1"
}]
},{
"item": [{ // item with two or more images
"src" : "image2.png",
"title" : "title2"
},
{
"src" : "image3.png",
"title" : "title3"
}]
}];
var template = Handlebars.compile($("#data-template").text());
var html = ""
for( var i = 0; i < data.length; ++i ){
html += template(data[i]);
}
$('#placeholder').html(html);
请参阅:http://jsfiddle.net/dFmQG/2/
相关文章:
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- 如何打印嵌套对象的所有值
- 设置嵌套对象属性的更好方法
- 嵌套对象结构
- 如何递归地获取嵌套对象中所有子对象的列表
- 更改嵌套对象的父子相关id
- 如何通过json对象数组为嵌套对象赋值
- Ember.js(2.5.0)如何设置嵌套对象值
- 嵌套对象文本访问父级
- 如何对两个嵌套对象进行排序
- 在javascript中使用方括号表示法的嵌套对象
- 具有嵌套对象数组的 Javascript 对象的递归搜索函数
- 更新嵌套对象的多个字段
- MongoDB嵌套对象数组后查询
- 在流星中插入嵌套对象
- 将嵌套对象数据添加到窗体中
- Chai深度包含了对嵌套对象的断言
- 使用Angular.js解析JSON中的嵌套对象数组
- 如何以编程方式添加到可变嵌套对象中
- Javascript嵌套对象访问根级别