2015-02-23 12 views
8

Chcę użyć warunku if w szablonie Meteor Blaze. Powiedzmy, że masz pomocnika users sprawie zbierania Użytkownicy chcesz iterację zadań i jeśli nazwa użytkownika to admin, użyj „czerwony” styl:Jak mogę użyć warunku na szablonie meteorów?

<ul> 
    {{#each users}} 
     <li {{#if(name==admin)}}class="red"{{/if}}>{{name}}</li> 
    {{/each}} 
</ul> 

Odpowiedz

15

Meteor używa Spacebars, wariant Handlebars, które są " logiczne "szablony. Musisz zdefiniować Template helper, a następnie użyć go w {{#if}}.

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

dziękuję !. ale czy można użyć warunku lub wyrażenia w szablonie? – Phirum

+0

@Phirum, nie wszystkie obliczenia w Spacesbars muszą być wykonane przez pomocników (lub kontekst danych). –

+0

@ PeppeL-G dlaczego wszystko trzeba zrobić za pomocą pomocnika, czy spacje nie powinny wprowadzać instrukcji '===' '! =='? –