我在这里有点失去理智......我有以下代码:
<script id="myTemplate" type="text/x-handlebars-template">
<div>{{post/name}}</div>
{{#if post/attachments}}
<p>
{{#list post/attachments}}<img src="{{url}}">{{/list}}
</p>
{{/if}}
</script>
我直接从每个助手复制了一个助手,以确保没有错误。
Handlebars.registerHelper('list', function(context, fn, inverse) {
var ret = "";
if(context && context.length > 0) {
for(var i=0, j=context.length; i<j; i++) {
ret = ret + fn(context[i]);
}
} else {
ret = inverse(this);
}
return ret;
});
window.myTemplate = Handlebars.compile($('#myTemplate').html());
window.myTemplate({post:{name:"Post!", attachments:[{url:"/images/preview.jpg"},{url:"/images/1.jpg"}]
这实际上并没有调用助手,代码最终看起来像这样:
<div></div>
<p>
<img src>
</p>
现在我对每个块执行此操作,它工作正常,我错过了什么?