LENKER nicht wiedergegeben boolean-Variablen, die, wenn falsch
Handlebars.js hat sich etwas komisch Verhalten. Es macht einen boolean mit dem Wert true, da der string "true", aber ein Wert von "falsch " wie".
var booleanTestTrue = true;
var booleanTestFalse = false;
Vorlage:
True: {{booleanTestTrue}}
False: {{booleanTestFalse}}
Rendert:
True: true
False: (empty string)
Gibt es eine Möglichkeit, um dieses problem zu beheben? Oder muss ich schreiben ein Helfer?
- repo-Problem hier: github.com/wycats/handlebars.js/issues/827
InformationsquelleAutor ccleve | 2013-07-15
Schreibe einen Kommentar Antworten abbrechen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie mit einem einfachen block Helfer und umzusetzen #if wie folgt:
Wenn Sie möchten, um eine Zeichenfolge zu drucken, sollten Sie eine Zeichenfolge übergeben.
Sonst, ja, Sie bräuchten einen Helfer (es sei denn, Sie verwenden die
#if
|#unless
Helfer für die Ausgabe der Zeichenfolge).On a side note, wenn Sie etwas drucken wollte, diese Werte für debugging-Zwecke, verwenden Sie die
{{log booleanTestFalse}}
.War ich überrascht, und endete schreiben Sie einen einfachen Helfer für Sie:
Würden Sie dann rufen Sie es wie folgt:
In den meisten Szenarien, die Sie bekommen konnte, Weg mit einfach
return x.toString()
. Die zusätzliche überprüfung vermeidet Versuch zu nennentoString
auf Undefinierte Werte.Ich diese verwendet, ähnlich wie Barney ' s Antwort, sondern unterstützt die null zu.
Würden Sie dann rufen Sie es wie folgt:
Aber wenn
v
ist ein Objekt mit einer ziemlichtoString
Methode, die Sie tun müssen, um weitere Codierung.