handlebars.js {{#if}} 条件の論理演算子 質問する

handlebars.js {{#if}} 条件の論理演算子 質問する

handlebars JS で、標準の handlebars.js 条件演算子に論理演算子を組み込む方法はありますか? 次のようになります:

{{#if section1 || section2}}
.. content
{{/if}}

独自のヘルパーを作成できることはわかっていますが、まず、車輪の再発明をしていないことを確認したいと思います。

ベストアンサー1

これは、ブロック ヘルパーを使用して「不正行為」することで可能になります。これはおそらく、Handlebars を開発した人々の理念に反するでしょう。

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}}

おすすめ記事