javascript - handlebars.js 帮助程序不起作用

标签 javascript helper 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>

还有一个我直接从每个助手复制的助手,以确保没有错误。

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/

相关文章:

javascript - Angular JS, 'nomod',模块 '{0}' 不可用!你要么拼错

python - Pylons webhelpers 缩小文件名太长

javascript - 跨域或 CDN 加载 Mustache.js/Handlebars.js 模板的最佳实践

javascript - mustache 条件和循环

javascript - 如何将 Intellij Idea 中的文件(在每次保存操作时)自动复制到其他目录?

javascript - 如何给字符串中的每个中英文单词添加span标签?

javascript - 使用 jquery 插件拖放表列

Delphi ShortInt 帮助器 ToString 与 const

ruby-on-rails - Rails 控制台 - 使用 image_tag 方法

java - java中的handlebars.js实现是否存在?