逻辑OR / AND Handlebars.JS助手,多个参数,第一个始终被检查

时间:2018-05-05 15:05:21

标签: jquery handlebars.js handlebarshelper

以下被提议作为逻辑AND / OR多arg Handlebars.JS助手:

Handlebars.registerHelper({
    and: function () {
        return Array.prototype.slice.call(arguments).every(Boolean);
    },
    or: function () {
        return Array.prototype.slice.call(arguments).some(Boolean);
    }
});

Handlebars.js Else If

这对我不起作用,因为我需要将其称为

{{#if (or questionType 'STARTTIME' 'ENDTIME') }}

{{#if (or questionType 'STARTTIME' 'ENDTIME' 'ARGUMENT3' 'ARGUMENT4') }}

换句话说,

  1. 我为AND / OR支持多个args,
  2. T 他的第一个arg总是我正在检查,例如。

    return(questionType == arg1 || questionType == arg2 || questionType == arg3 ...)

  3. 换句话说,我不能像这样写一个愚蠢的2-param或(..)/和(..),

    Handlebars.registerHelper('or', function(a, b, c) {
        if(a == b || a == c)
            return true;
        else
            return false;
    });
    

    它应该是多参数,并且始终检查第一个参数。有什么想法吗?

0 个答案:

没有答案