我是第一次在手把附近乱逛.我的目标是在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));
我的代码不起作用,并且在控制台中看不到任何错误.
我究竟做错了什么?
解决方法:
您的模板会遍历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>
http://jsfiddle.net/nikoshr/hm6psg9w/
标签:handlebars-js,javascript 来源: https://codeday.me/bug/20191027/1948008.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。