web-dev-qa-db-ja.com

Meteor:Blazeで2つの値({{#if someVar == 'someVal'}}など)の同等性をテストするための最良の方法は何ですか?

テンプレートで次のようなことを実行できるように、定数を使用してドキュメントプロパティの同等性をテストするだけのテンプレートヘルパーをどこにでも定義する必要があります。

    {{#if fruitIsPineapple}}...{{/if}}

そして私のテンプレートヘルパーは次のようになります:

    Template.example.helpers({
      fruitIsPineapple: function () { return this.document.fruit === 'pineapple'; } 
    });

これらすべてのヘルパーを作成する必要がないようにするにはどうすればよいですか? Blazeに等式演算子があればいいのに...

17

MeteorDevshopで質問に答えてもらいました。次のように、Handlebarsヘルパーを定義できることがわかりました。

    Template.registerHelper('equals', function (a, b) {
      return a === b;
    });

次に、次のようにプレフィックス位置で使用します。

    {{#if equals fruit 'pineapple'}}...{{/if}}
48

面倒なコードがなくても、 raix:handlebar-helpers をインストールして、次のようにすることでこれを実現できます。

{{#if $eq a b}}
   ...
{{ /if }}
16
jasenkoh