我在这里有点失去理智......我有以下代码:
<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>
现在我用每个 block 执行此操作并且工作正常,我缺少什么?
最佳答案
事实证明,我在页面上多次包含了handlebars.js,这导致我的助手被忽略。
现在,如果我能找到一种方法来恢复我生命中的那些时光就好了……
关于javascript - handlebars.js 帮助程序不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6078295/