2015-11-02 69 views
0

我將一個對象數組傳遞給我的玉模板,並且想在我的js中將其用作var在Javascript中使用Jade數組將其轉換爲字符串

它似乎正確地傳送,如

each level, i in stats 
    .levelStats 

創建4個格(如預期)

現在我有

script(type='text/javascript'). 
    var statData = "!{stats}" 

其中,因爲據我所知,應該加載將數據轉換爲javascript var。 它認爲,在某種程度上...

console.log(statData); 
// output: [object Object],[object Object],[object Object],[object Object] 
// this means the correct data must be there..somewhere 

console.log(typeof statData); 
// output: string 

我究竟做錯了什麼? 我怎樣才能得到整個數組到var?

解決方案+教訓:

var foo = "!{bar}"使得數據的字符串(在回顧性很明顯)

正確的方式去:(?數組)var foo = !{bar}

+0

可以提供統計數據的樣本? 「!{}統計」 也許嘗試使用' 「!{}級」'而不是'' – Anonymous0day

+0

在'stats'每個條目看起來像 { amountTaken:0, amountCorrect:0, totalTimeTaken:0, avgTimeTaken :0, daysAgo:[] } 爲清楚起見:玉代碼和JavaScript代碼是分開的。玉得到數組並且循環它創造div。 然後我想要一個'var'中的相同數組在圖中使用它 – user3787706

+0

你試過了嗎:'「!{JSON。stringify(stats)}'' – Anonymous0day

回答

2
each level, i in stats 
    .levelStats 

您遍歷stats其中i是索引,level是您的數組元素在stats[i]

,但你似乎並不separatly使用的元素:
var statData = "!{stats}"

統計還是數組,你會發現level每個元素!


編輯
澄清後,以保持整個陣列並將其設置爲一個變量:

var statData = !{JSON.stringify(stats)} 
+0

我想整個數組在javascript變量中。 '每個級別,我在統計數據中'只有玉才能爲每個條目創建一個div(= key) – user3787706

1

你需要把一個字符串中的<script>標籤。如何將數組轉換爲字符串,以便稍後將其轉換回來? JSON.stringify。

所以,這樣的事情應該工作:

script. 
    var statData = !{JSON.stringify(stats)}; 
相關問題