handlebars.js - Handlebars 中的全局变量 if block

标签 handlebars.js

是否可以在 Handlebars 条件中使用全局变量?我正在编写一个列出很多对象的应用程序,我希望用户能够控制列出哪些详细信息。例如,在人员列表中仅显示名字,如下所示:

<ul>
{{#each people}}
    <li>
        <p>{{firstName}}</p>
        {{#if displayLastnames}}
        <p>{{lastName}}</p>
        {{/if}}
    </li>
{{/each}}
</ul>

我不想实际修改数据(例如,通过删除 lastName 属性并执行 {{#if lastName}} )。

最佳答案

您还可以注册一个名为“displayLastnames”的全局助手并在 if 中使用它:

  Handlebars.registerHelper('displayLastnames', function(block) {
    return displayLastnames; //just return global variable value
  });

并像在您的示例中一样使用它:
  {{#if displayLastnames}}
    <p>{{lastName}}</p>
  {{/if}}

关于handlebars.js - Handlebars 中的全局变量 if block ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11790507/

相关文章:

ember.js - 如何在 ember.js 脚本句柄中使用条件语句进行多行注释?

ember.js - ember js Handlebars 模板中绑定(bind)Attr的未绑定(bind)版本

ruby-on-rails - Handlebars 模板不会呈现 ember 数据对象

javascript - 如何使用 Handlebars.js( mustache 模板)制作 i18n?

backbone.js - 将 Handlebars.js 与 Backbone.Marionette 结合使用

javascript - handlebarsjs - 我可以通过 json 键访问元素吗?

javascript - Handlebars Include partial 两次,一次转义,一次渲染

javascript - Ember.js 布局

javascript - Ember {{#with ...controller=...}} 给出 "Uncaught TypeError: Cannot read property ' LookupFactory' 未定义”

javascript - 在 Ember Handlebars 的嵌套循环中获取索引计数器