2016-07-18 4 views
0

Ich bin Array von JSON-Objekten in Daten Variable wie diese setzen data.journeyDetail = Detail; in Marko-Datei muss ich darauf zugreifen innerhalb Javascript Block und für jeden Datensatz muss FullName aus dem Objekt drucken. Wie macht man das?Markojs Datenvariablen Zugriff in Client-Seite Javascript

Server-Seite-Code:

data.journeyDetail = detail; 
data.author = "najam"; 
this.body = marko.load("./views/journeyDetail.marko").stream(data); 

marko Datei (Client-Seite)

<script> 
    console.log("author=$data.journeyDetail.length"); 
    var length = $data.journeyDetail.length; 
    var recs = $data.journeyDetail; 
    console.log("len=", length); 
    console.log("array=", array); 
    for(var i=0; length; i++){ 
     console.log("counter=", recs[i].origin); 
    } 

    </script> 

wenn Seite seiner geben ist Rendering JavaScript-Fehler und die Linie, die Fehler ungültige Zuordnung var recs = [Objekt haben Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Obj ect], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt], [Objekt Objekt]; console.log ("len =", Länge);

Antwort

1

Sie möchten serialisieren die Vorlage Daten auf der Seite mit JSON.stringify(...). Dadurch kann der Code innerhalb Ihrer script auf die Daten zugreifen, die beim Rendern der Vorlage verfügbar waren. Beachten Sie, dass Ihre data.journeyDetail Daten keine Zirkelbezüge enthalten können, da dies dazu führt, dass der Fehler in JSON.stringify(...) ausgelöst wird. Vielleicht möchten Sie die Funktion Arraymap verwenden, um die Daten im Array zu transformieren, wenn Sie nicht alle Informationen benötigen, wenn der Skriptcode ausgeführt wird.

Sie werden verwenden möchten:

<script> 
console.log("author=$data.journeyDetail.length"); 
var length = $data.journeyDetail.length; 
var recs = ${JSON.stringify(data.journeyDetail)}; 
console.log("len=", length); 
console.log("array=", array); 
for(var i=0; length; i++){ 
    console.log("counter=", recs[i].origin); 
} 
</script> 

Die einzige Änderung war diese Linie:

var recs = ${JSON.stringify(data.journeyDetail)}; 
+0

Leichte Korrektur: 'var recs = $ {JSON.stringify (data.journeyDetail)}; '(ohne die Anführungszeichen) –

Verwandte Themen