handlebars.js帮助不起作用

hb9*_*922 0 javascript helpers mustache

我在这里有点失去理智......我有以下代码:

<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>
Run Code Online (Sandbox Code Playgroud)

还有一个帮助器,我直接从每个帮助器复制,以确保没有错误.

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"}]
Run Code Online (Sandbox Code Playgroud)

这实际上并没有调用帮助程序,代码最终看起来像这样:

<div></div>
<p>
  <img src>  
</p> 
Run Code Online (Sandbox Code Playgroud)

现在我用每个块做这个,它工作正常,我错过了什么?

hb9*_*922 6

事实证明我在我的页面上不止一次包括handlebars.js,这导致我的助手被忽略.

现在,如果我能找到一种方法来恢复我生命中的那些时间......