JADE + EXPRESS: Iterieren über Objekt in Inline-JS-Code (clientseitig)?

8

Ich möchte eine Google Map basierend auf ihrer API implementieren. Ich möchte einen Pfad basierend auf Koordinaten hinzufügen. deshalb erhalte ich meine Koordinaten von meinem Modell und möchte über das Objekt iterieren, um die Karte mit diesen Punkten zu füllen. in meiner jade Vorlage schließe ich den api js Code wie folgt ein:

%Vor%

Das Problem ist: jade rendert dieses Snippet

%Vor%

wie es in der Jade-Vorlagenquelle ist ... das - wenn etc. nicht geparst wird! irgendwelche Ideen?

Danke!

    
Tronic 07.06.2011, 19:52
quelle

6 Antworten

16

Das gesamte Script-Tag (alles darunter eingerückte) wird ohne weiteres Parsen rough durchlaufen. Jade tut HTML-Templating nicht HTML-Templating plus verschachtelte Javascript Templating. Um Ihre pins -Variable von lokalen Jade-Template-Variablen-Daten an Skript-Quellcode zu übergeben, müssen Sie einen anderen Ansatz wie die Verwendung von roher Jade verwenden, um ein kleines Skript-Tag zu rendern, das Ihre initialize -Funktion mit pins aufruft. Daten als ein Literal, oder stecken Sie Ihre pins Daten in das Dom irgendwo und dann lesen Sie es von dort. Etwas in dieser Richtung unter dem Skript-Tag (Pseudocode, habe nicht getestet)

%Vor%     
Peter Lyons 08.06.2011, 05:11
quelle
4

Ich habe den Wert als verstecktes Eingabeelement übergeben, z. B .:

%Vor%

Zugriff über jQuery:

%Vor%

Joe

    
Joe 08.08.2011 17:11
quelle
3

Sie können dies verwenden:

%Vor%     
user1082679 19.04.2012 16:42
quelle
2

Die Skript-Tags sind reiner Text, Sie können die Jade nicht so einfach mischen, um dieses Javascript zu generieren, es ist normalerweise ein Spiegelbild von schlechtem Design. Sie können einfach Dinge als JSON serialisieren, die Sie auf dem Client benötigen, oder Express-Expose verwenden, um dies zu tun

    
tjholowaychuk 03.01.2012 18:42
quelle
1

Serverseite

%Vor%

Clientseite

%Vor%     
Cherif 10.06.2014 12:13
quelle
0

Ich hatte ein ähnliches Problem und diese Codezeile löste es:

%Vor%

Die Antwort kam ursprünglich aus dieser Beitrag

    
Erjim 23.11.2016 05:23
quelle