Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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> 
like image 214
Phirum Avatar asked Feb 23 '15 09:02

Phirum


1 Answers

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>
like image 109
Dan Dascalescu Avatar answered Oct 20 '22 23:10

Dan Dascalescu