我第一次在Handlebars周围乱砍;我的目标是在html中显示项目列表。
这是html中的脚本:
<div>
<script id="list-items" type="text/x-handlebars-template">
{{#each list}} {{ price }} {{/each}}
</script>
</div>
这是js文件:
var list = [
{
name: 'Almond Toe Court Shoes, PatentBlack',
category: 'Women\'s footwear',
price: 42,
quantity: 5
},
{
name: 'Bla bla bla',
category: 'Women\'s footwear',
price: 66,
quantity: 5
}
];
var theTemplateScript = $("#list-items").html();
var theTemplate = Handlebars.compile (theTemplateScript);
$(document.body).append (theTemplate (list));
我的代码不起作用,我在控制台中看不到任何错误。 我做错了什么?
答案 0 :(得分:4)
您的模板会迭代list
属性,但您会传递原始数组。
要协调您的模板和您传递的数据,请传递具有list
属性的对象:
$(document.body).append (theTemplate ({
list: list
}));
http://jsfiddle.net/nikoshr/hm6psg9w/1/
或修改模板以迭代数组:
<script id="list-items" type="text/x-handlebars-template">
{{#each .}} {{ price }} {{/each}}
</script>