Метеор: Каков наилучший способ проверить равенство двух значений (например, {{#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 }}