我有一个奇怪的问题,Handlebars 正在正确编译我的模板,但是在传递上下文数据时,html 中的结果字段是空白的。我已经确认我的 JSON 数据实际上是一个 javascript 对象而不是字符串。如果这已在其他地方得到回答,我深表歉意。我看到很多关于 JSON 字符串需要成为实际对象的答案,但正如我所说,情况并非如此。
模板:
<script type="text/x-handlebars-template" id="items-template">
{{#each downloads}}
<div class="download-item">
<h3>{{pagetitle}}</h3>
<p>{{description}}</p>
</div>
{{/each}}
</script>
JS:
var source = $("#items-template").html();
var template = Handlebars.compile( $.trim(source) );
var html = template({
downloads:[
{pagetitle:'title', description:'the description'},
{pagetitle:'title', description:'the description'},
{pagetitle:'title', description:'the description'}
]
});
结果html
(只有一个空白项目):
<div class="download-item">
<h3></h3>
<p></p>
</div>
任何见解将不胜感激。如果我在有人看到之前弄清楚了,我一定会发布更新。