0

下面是包含 html 元素的把手模板

{{#show}} <div class="intro">dummy</div> <div class="body">text</div> {{/show}}

以下是助手类

Handlebars.registerHelper('show', function() { return true; });

仅当show为 true时才应显示 html 元素

任何人都可以帮助解决这个问题吗?

4

1 回答 1

0

块助手的工作方式并非如此。一个块助手被传递一个options对象,里面有两个感兴趣的函数:

  • options.fn: 这代表块。
  • options.inverse: 这代表{{else}}块。

所以你的show助手不应该return true,应该return options.fn()。更像这样的东西:

Handlebars.registerHelper('show', function(options) {
    if(some_condition)
        return options.fn(this);
    else
        return options.inverse(this);
});
于 2013-10-16T17:08:45.747 回答