迭代通过在车把
问题描述:
子元素作为一个例子,我有以下数据集迭代通过在车把
dataset = {header: ' header' }
dateline = { content: 'list of dates' }
monday = [
{ food:'teacake' , drink:'orange' }
]
tuesday = [
{ food:'eggs' , drink:'beer' }
]
dateline.monday = monday
dateline.tuesday = tuesday
dataset.dateline = dateline
我想要做的是使用手柄酒吧虽然天运行,我认为这可以使用儿童来完成。
<script id="mwl707" type="text/x-handlebars-template">
{{#each dateline.children }}
<span>{{food}} : {{drink}}</span>
{{/each}}
</script>
但我无法得到它的工作,请帮助吗? JSfiddle
答
我更新了你的小提琴所以它的工作原理:http://jsfiddle.net/AgCBb/1/
你不应该在[]
括号再次包住对象周一和周二,这是一个不必要的额外水平来分析。只需在父对象中创建一个天数组,因为在Handlebars中数组更容易解析。
dataset = {header: ' header' } //
dateline = { content: 'list of dates' }
monday = { "food":"teacake" , "drink":"orange" }
tuesday = { "food":"eggs" , "drink":"beer" }
dateline.days = []
dateline.days.push(monday)
dateline.days.push(tuesday)
然后,你可以这样分析它:
{{#dateline.days }}
<span>{{food}} : {{drink}}</span>
{{/dateline.days}}
另外,还要确保你通过有效的JSON你的模板。如果不确定,你可能会检查你的JSON http://jsonlint.com/
答
把手不提供内置方式来迭代对象的属性。请参阅Handlebars/Mustache - Is there a built in way to loop through the properties of an object?。您可以使用Handlebars支持的方式来格式化数据,例如普通数组。我不会在这里复制代码,它在链接的文章中。
此外,你不应该把<script>
标签放在小提琴的javascript平原中。改为使用External Resources
部分。
太好了,谢谢你的时间! – Mick 2013-03-17 16:30:06