2012-08-14 66 views
1

我的數據結構與下面的代碼類似,我想用Handlerbars進行迭代。雖然可以完成此迭代的JavaScript代碼很明確,但我還是無法弄清楚如何在句柄中執行此操作。如何迭代數組並使用Handlebars訪問地圖?

var keys = ['key1','key2','key3'] 
var map = {'key1':{...}, 'key2':{...}, 'key3':{...}, .... 'keyN': {...}} 

我想把手內要做的就是重複鍵數組,並使用值從鍵陣列查找對象從地圖。這可以在沒有編寫幫手的情況下完成嗎?

UPDATE我知道如何在JavaScript中編寫代碼,我想要做的是「我可以在raw js中使用handlebarJS表達式」。

+0

我道歉,在咖啡仍在工作。顯然[標籤:handlebars.js]並不像它應該在咖啡前那麼突出。 – 2012-08-14 13:21:56

回答

1

試試這個:

for(var i=0; i<keys.length; i++){ 
    console.log(map[keys[i]]) 
} 

Handlebars.registerHelper('list', function(keys, maps) { 
    var out = "<ul>"; 

    for(var i=0, i=keys.length; i++) { 
    out = out + "<li>" + map[keys[i]] + "</li>"; 
    } 

    return out + "</ul>"; 
}); 
+0

我想用車把上的解決方案模板http://handlebarsjs.com/ – ams 2012-08-14 14:01:27

+0

@ams我剛編輯馬的回答,檢查它 – Shreedhar 2012-08-14 14:05:27

+0

可以這樣進行通用的,所以,在把手沿{{得到{{鍵的行書面的東西}}}}是甚至可能的?重要的是幫助者只需要在hepler中進行處理就可以得到對象。我真的很新的Handlebars – ams 2012-08-14 15:40:10