Метеор: Каков наилучший способ проверить равенство двух значений (например, {{#if someVar == 'someVal}}) в Blaze?

Мне нужно определить помощники шаблонов всюду, которые просто проверяют равенство свойства документа с константой, поэтому я могу сделать что-то вроде этого в моем шаблоне:

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

И в моем помощнике шаблона выглядит так:

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

Как я могу избавиться от необходимости создавать все эти помощники? Было бы неплохо, если бы у нас был оператор равенства в Blaze...

Ответы

Ответ 1

Я ответил на вопрос в "Метеор Девшоу". Оказывается, вы можете определить помощник Handlebars, например:

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

Затем используйте его в позиции префикса следующим образом:

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

Ответ 2

Без громоздкого кода вы можете достичь этого, установив raix: handlebar-helpers и сделайте что-то вроде этого:

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