Phirum Phirum - 20 days ago 7
Javascript Question

How can I use if condition on the meteor template?

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>

Answer

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>