以下は、論理 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 に対して複数の引数をサポートしています。
最初の引数は常に私がチェックしているものです。
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;
});
最初の引数が常にチェックされている複数の引数である必要があります。何かご意見は?