Meteor: Whats the best way to test equality of two values (like {{#if someVar == 'someVal'}}) in Blaze?

Patrick Canfield picture Patrick Canfield · Mar 28, 2014 · Viewed 10.5k times · Source

I'm having to define template helpers everywhere that simply test the equality of a document property with a constant so I can do something like this in my template:

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

And in my template helper looks like:

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

How can I save myself from having to create all these helpers? It'd be nice if there we an equality operator in Blaze...

Answer

Patrick Canfield picture Patrick Canfield · Mar 28, 2014

I had my question answered at the Meteor Devshop. Turns out you can define a Handlebars helper, like so:

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

Then use it in prefix position like this:

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