首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Handlebar.java :比较#if帮助器中的等式

Handlebar.java :比较#if帮助器中的等式
EN

Stack Overflow用户
提问于 2016-06-20 06:10:58
回答 1查看 1.7K关注 0票数 1

如何比较Handlebars.java中的等式和其他逻辑条件。例如:

代码语言:javascript
复制
{{#if template_version == "v2" }}
  //do something 
{{ else }}
  //do something
{{/if}}

欢迎使用或不含registerHelper()的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-21 04:31:03

您需要编写一个助手来执行==检查,因为车把不提供==构造。

您可以编写这样一个简单的助手:

代码语言:javascript
复制
    Handlebars.registerHelper('if_eq', function(a, b, opts) {

        if(a == b) // Or === depending on your needs
            return opts.fn(this);
        else
            return opts.inverse(this);
    });

你可以给帮手取任何名字。我给了if_eq

现在,在模板中:

代码语言:javascript
复制
{{#if_eq template_version "v2" }}
  //do something 
{{ else }}
  //do something
{{/if_eq}}

以防万一,您需要为所有操作员提供帮助,您可以这样做:

代码语言:javascript
复制
    Handlebars.registerHelper({
        eq: function (v1, v2) {    
            return v1 === v2;
        },
        ne: function (v1, v2) {
            return v1 !== v2;
        },
        lt: function (v1, v2) {
            return v1 < v2;
        },
        gt: function (v1, v2) {
            return v1 > v2;
        },
        lte: function (v1, v2) {
            return v1 <= v2;
        },
        gte: function (v1, v2) {
            return v1 >= v2;
        },
        and: function (v1, v2) {
            return v1 && v2;
        },
        or: function (v1, v2, opts) {
            return v1||v2;
        }
    });
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37915616

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档