2011-05-20 56 views
0

我有点在这里失去我的心......我有以下代码:handlebars.js助手不工作

<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> 

现在我这样做是与每个块和它工作得很好,我缺少什么?

回答

6

原来我在页面上多次包含handlebars.js,这导致我的帮助器被忽略。

现在,如果只有我能找到一种方法让我的生活中的那些小时回来......

+0

哇!我正在做同样的事情。显然这很容易做到! – pedalpete 2012-01-31 17:47:20