以下是作为逻辑 AND/OR 多参数 Handlebars.JS 助手提出的:
Handlebars.registerHelper({
and: function () {
return Array.prototype.slice.call(arguments).every(Boolean);
},
or: function () {
return Array.prototype.slice.call(arguments).some(Boolean);
}
});
这对我不起作用,因为我需要将其称为
{{#if (or questionType 'STARTTIME' 'ENDTIME') }}
{{#if (or questionType 'STARTTIME' 'ENDTIME' 'ARGUMENT3' 'ARGUMENT4') }}
换句话说,
- 我的 AND/OR 支持多个参数,
第一个arg始终是我正在检查的内容,例如
return (questionType == arg1 || questionType == arg2 || questionType == arg3 ...)
换句话说,我不能像这样写一个愚蠢的 2-param or(..) / and(..),
Handlebars.registerHelper('or', function(a, b, c) {
if(a == b || a == c)
return true;
else
return false;
});
它应该是多参数,始终检查第一个参数。有什么想法吗?