我在这里有点失去理智......我有以下代码:
<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>
现在我用每个块执行此操作并且它工作正常,我缺少什么?
答案 0 :(得分:6)
原来我在我的网页上不止一次地包含了handlebars.js,这导致我的助手被忽略。
现在,只要我能找到一种方法来恢复我生命中的那些时间......