Is it possible in Handlebars to check if a string is equal to another value without registering a helper? I can't seem to find anything relevant to this in the Handlebars reference.
For example:
{{#if sampleString == "This is a string"}}
...do something
{{/if}}
It seems you can't do it "directly"
Try use helper, why not?
Register helper in your javascript code:
Handlebars.registerHelper('ifEquals', function(arg1, arg2, options) {
return (arg1 == arg2) ? options.fn(this) : options.inverse(this);
});
Use in template:
{{#ifEquals sampleString "This is a string"}}
Your HTML here
{{/ifEquals}}
More details here: Logical operator in a handlebars.js {{#if}} conditional
Update: Another way:
lets assume, your data is:
var data = {
sampleString: 'This is a string'
};
Then (using jQuery):
$.extend(data, {isSampleString: function() {
return this.sampleString == 'This is a string';}
});
An use template:
{{#if isSampleString}}
Your HTML here
{{/if}}