2014-03-28 6 views
16

Ich habe Vorlage Helfer überall die einfach testen die Gleichheit eines Dokuments Eigenschaft mit einem konstanten, so kann ich so etwas in meiner Vorlage zu definieren:Meteor: Was ist der beste Weg, die Gleichheit zweier Werte in Blaze zu testen (wie {{#if einigeVar == 'someVal'}})?

{{#if fruitIsPineapple}}...{{/if}} 

Und in meiner Vorlage Helfer wie folgt aussieht:

Template.example.helpers({ 
     fruitIsPineapple: function() { return this.document.fruit === 'pineapple'; } 
    }); 

Wie kann ich mich vor der Erstellung all dieser Helfer retten? Es wäre schön, wenn wir in Blaze einen Gleichheitsoperator hätten ...

+0

ein Paket, das viele nützliche Helfer definiert, darunter eine für die Prüfung der Gleichstellung: https://github.com/raix/Meteor-handlebar-helpers –

+0

Warum Hat jemand das abgelehnt? Ich hatte dieselbe Frage und die Antwort ist nirgends dokumentiert. – foobarbecue

Antwort

44

Ich hatte meine Frage im Meteor Devshop beantwortet. Es stellte sich heraus Sie einen Lenker Helfer definieren können, etwa so:

Template.registerHelper('equals', function (a, b) { 
     return a === b; 
    }); 

es dann so in Präfix Position verwenden:

{{#if equals fruit 'pineapple'}}...{{/if}} 
+0

Viel mehr Infos unter: https://github.com/meteor/meteor/wiki/Using-Blaze –

+0

Muss es nicht jetzt "UI.registerHelper" sein? –

+0

Ja, @ChristianFritz. Vielen Dank. –

15

Ohne umständliche Code können Sie dies erreichen, indem raix:handlebar-helpers Installation und etwas tun wie folgt aus:

{{#if $eq a b}} 
    ... 
{{ /if }}