ホームページ > ウェブフロントエンド > jsチュートリアル > Handlebars.js 条件文で論理演算子を実装するにはどうすればよいですか?

Handlebars.js 条件文で論理演算子を実装するにはどうすればよいですか?

Susan Sarandon
リリース: 2024-11-17 05:45:03
オリジナル
713 人が閲覧しました

How to Implement Logical Operators in Handlebars.js Conditionals?

Handlebars.js If 条件文内での論理演算子の使用

handlebars.js のおなじみの領域では、{{#if による条件付きレンダリングが行われます。 }} ブロックは、一般的なプログラミングの難問を引き起こします。このフレームワーク内で論理演算子を実装するにはどうすればよいでしょうか?提供された例に見られるように、本能的にそのような演算子を条件文内に直接含めようとするかもしれません。

しかし、handlebars.js は、その条件文内で論理演算子をネイティブにサポートしません。これはジレンマを引き起こします。カスタム ヘルパーを作成するという困難な作業に着手するべきでしょうか、それとも既存のソリューションを徹底的に調査するべきでしょうか?この質問に答えるために、ブロック ヘルパーを利用した「チート」方法を検討してみましょう。

ブロック ヘルパー テクニック

このアプローチは、ハンドルバーの純粋な原則に挑戦する可能性がありますが、それはその制限を効果的に回避します。カスタム ブロック ヘルパーを登録することで、必要な論理演算を実装できます。次のヘルパーの例を考えてみましょう。

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}}
ログイン後にコピー

このメソッドは基本的に、Handlebars 条件文内で等価演算子の使用を有効にします。 。設計哲学には厳密には準拠していませんが、論理演算を組み込むための実用的な回避策を提供します。このアプローチはすべてのシナリオに適しているわけではないことに注意することが重要ですが、特定のユースケースには実行可能なソリューションを提供します。

以上がHandlebars.js 条件文で論理演算子を実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート