如何在流星模板上使用if条件?

Phi*_*rum 8 javascript meteor spacebars

我想if在Meteor Blaze模板中使用一个条件.假设您users在要复制任务的Users集合上有一个帮助,如果用户名是admin,则使用"红色"样式:

<ul>
    {{#each users}}
        <li {{#if(name==admin)}}class="red"{{/if}}>{{name}}</li>
    {{/each}}
</ul> 
Run Code Online (Sandbox Code Playgroud)

Dan*_*scu 17

Meteor使用Spacebar作为Handlebars的一种变体,它是"无逻辑"模板.您需要定义一个模板助手,然后在中使用它{{#if}}.

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