2017-02-07 2 views
1

Ich habe einfach Lenker Vorlage:Wie Funktion auf dem Objekt in der Vorlage auszuführen

'<h1>Order number: {{orderNumber}}</h1>' 

Das funktioniert gut.

Jetzt habe ich Situation, wo Objekt, das ich es übergeben für die Wiedergabe hat eine Funktion, sich ID zurückzugeben. Es geht so:

Wie kann ich Handlebar veranlassen, getId() auszuführen und seinen Wert stattdessen zu setzen?

Mein fehlgeschlagener Versuch.

Vorlage:

'<h4>Order number: {{orderNumber}}</h4><h4>{{#getId }}</h4>' 

Registrierte Funktion:

hbs.registerHelper('getId', function(param, opts) { 
    //return param.getId() 
    return 666; 
}); 

Egal was ich versuche ich immer diese Fehlermeldung erhalten:

"Parse error on line 1:\n...{{#getId }}\n-----------------------^\nExpecting 'OPEN_INVERSE_CHAIN', 'INVERSE', 'OPEN_ENDBLOCK', got 'EOF'"

Wenn ich getId aus der Vorlage entfernen, dann funktioniert es wie erwartet.

Antwort

1

Zuerst müssen Sie neue Lenker Helfer erstellen:

Handlebars.registerHelper('getId', function(param, opts) { 
    return 1; 
}); 

Dann können Sie es verwenden nennen:

<span>{{getId someParam}}</span> 
+0

Ich habe versucht, und kann es nicht die Arbeit zu. Können Sie bitte meine edite Frage überprüfen? –

+0

Verwenden Sie diese Syntax, um den Helper '{{#getId someParam}}' 'aufzurufen? Nein '()', '#' am Anfang. 'Lenker.registerHelper' - auch wichtig, es ist globale Registrierung – VadimB

+0

Ja, das mache ich. Genau wie in meiner bearbeiteten Frage. –

Verwandte Themen