хелпер handlebars.js не работает - PullRequest
0 голосов
/ 21 мая 2011

Я немного схожу с ума ... У меня есть следующий код:

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

Теперь я делаю это с каждым блоком, и он работает нормально, что мне не хватает?

1 Ответ

6 голосов
/ 23 мая 2011

Оказывается, я включал handlebars.js более одного раза на своей странице, из-за чего мои помощники игнорировались.

Теперь, если бы я только мог найти способ вернуть эти часы моей жизни ...

...