2016-06-28 5 views
0

Als Neuling in der Pugjs/Jade-Vorlage Welt habe ich ein paar Probleme. HierWie verwenden Sie einen Logikblock innerhalb eines Elements?

ist das Fragment, das nicht funktioniert, wie ich will, erwarten, etc .:

div 
    if typeof val == 'object' 
    /call some mixin 
    else 
    #{val} 

#{val} landet ein neues Element aus dem Inhalt der val zu schaffen. Ich will das nicht. Ich möchte den Körper von div die Auswertung von val sein.

Version:

"pug": "^2.0.0-beta3"

Antwort

0

Sie benötigen einen Pipezeichen vor dem #{val}, um es als Text interpretiert werden:

div 
    if typeof val == 'object' 
    // call some mixin 
    else 
    | #{val} 
+0

Vielen Dank für den Tipp. Ich bekam etwas Hilfe von der Mopsfamilie. Ich habe vergessen, diese Frage zu aktualisieren. Sie haben Recht, aber es gibt zusätzliche Möglichkeiten. Wie '= val' oder' = \ 'interpoliere dies: $ {val} \ '' (für den neuen Pug, es, String-Interpolationssyntax) – chrisp

1

Kredit an die PUG-Team für mich durch die helfende neue Syntax.

= val 
// or for the es string interpolation syntax 
= `interpolate this: ${val}` 

Außerdem wird die Frage nun falsch gestellt. Der Logikblock war nicht das Problem, es war wie PUG HTML erzeugte, mit der ich Probleme hatte.

Verwandte Themen