Handlebars issue: TypeError: inverse is not a function on compilation

Handlebars issue: TypeError: inverse is not a function on compilation

我目前卡在一个错误上,我无法弄清楚问题出在哪里。我正在尝试即时编译从页面上存在的 div 中提取的模板,为其分配内容并将其显示在我页面上的特定 div 中。

我当前的代码如下所示:

var element = $('#project-list-template');
template = Handlebars.compile(element.html());
console.log('template', template);
$('#detail').html(template({object: projects}));

第四行的执行引发了以下错误:

TypeError: inverse is not a function

模板的console.log给出:

template function ret()

这对我来说似乎没问题,当然它正在返回一个函数。有关信息,element.html() 值如下:

<div class="resources-list project-detail-active">
        <h2 class="text-uppercase">Liste des projets</h2>
        <div id="projects">
            {{#each object "ul"}}
            <li>
              <a onclick="displayProject('#detail', &quot;{{'@id'}}&quot;,  '#project-detail-template')">
                <h2>
                  {{project_title}}
                </h2>
                <p>
                  {{project_description}}
                </p>
              </a>
            </li>
            {{/each}}
        </div>
      </div>

如果你对我有任何线索,请告诉我。

我确实找到了我的问题。我只是向每个助手添加了一个无用的参数

{{#each object "ul"}}

时无法工作
{{#each object}}

有。我最初使用的是个人助手,我确实使用了第二个参数,所以这是一个 copy/paste 错误,花费了我 2 个小时...