Handlebars.js では、標準の条件演算子 {{#if}} は 1 つのブール条件のみを受け入れます。ただし、開発者は多くの場合、論理演算子 (AND、OR) を条件ステートメントに組み込む必要があります。これが Handlebars.js 内で実現可能かどうかを調べてみましょう。
{{#if}} で論理演算子を直接使用する方法はありませんが、回避策は次のように使用できます。ブロックヘルパー。カスタム ヘルパーを登録することで、開発者は基本的に論理演算子の動作をエミュレートするブロックを作成できます。
たとえば、OR 演算子を実装するには、次のようにヘルパーを定義できます:
Handlebars.registerHelper('ifCond', function(v1, v2, options) { if(v1 === v2) { return options.fn(this); } return options.inverse(this); });
このヘルパーは、テンプレート内で次のように利用できます。
{{#ifCond v1 v2}} {{v1}} is equal to {{v2}} {{else}} {{v1}} is not equal to {{v2}} {{/ifCond}}
適切なパラメーターを指定してこのヘルパーを呼び出すことで、開発者はシミュレーションを行うことができます。 OR 演算子の動作。ただし、これは回避策であり、Handlebars のテンプレート エンジンの背後にある哲学に完全には準拠していない可能性があることに注意することが重要です。
以上がHandlebars.js の条件文で論理演算子を使用できますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。