How can I use if condition on the meteor template?

javascript, meteor, spacebars

Solution

Meteor uses Spacebars, a variant of Handlebars, which are "logicless" templates. You need to define a Template helper, then use it in the `{{#if}}`.

Template.foo.helpers({
  isAdmin: function (name) {
    return name === "admin"
  }
});
<ul>
  {{#each users}}
    <li {{#if isAdmin name}}class="red"{{/if}}>{{name}}</li>
  {{/each}}
</ul>

Problem

I want to use an `if` condition in a Meteor Blaze template. Let's say you have a helper `users` on the Users collection you want to iterate through tasks and if the username is admin, use a "red" style: ``` <ul> {{#each users}} <li {{#if(name==admin)}}class="red"{{/if}}>{{name}}</li> {{/each}} </ul> ```

Original source